x86: fsp: Allow skipping init code when chain loading
authorSimon Glass <sjg@chromium.org>
Sun, 26 Apr 2020 15:12:53 +0000 (09:12 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 30 Apr 2020 09:40:16 +0000 (17:40 +0800)
commitc793dbdb902baafeef869e3b3b16049af9c11979
tree75e21f19c34864dcac52788f309b2747eb6c553f
parent0b885bcfd9b06943bf3dc3102f95961826b04f18
x86: fsp: Allow skipping init code when chain loading

It is useful to be able to boot the same x86 image on a device with or
without a first-stage bootloader. For example, with chromebook_coral, it
is helpful for testing to be able to boot the same U-Boot (complete with
FSP) on bare metal and from coreboot. It allows checking of things like
CPU speed, comparing registers, ACPI tables and the like.

When U-Boot is not the first-stage bootloader much of this code is not
needed and can break booting. Add checks for this to the FSP code.

Rather than checking for the amount of available SDRAM, just use 1GB in
this situation, which should be safe. Using 2GB may run into a memory
hole on some SoCs.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/lib/fsp/fsp_dram.c
arch/x86/lib/fsp/fsp_graphics.c
arch/x86/lib/fsp2/fsp_dram.c
arch/x86/lib/fsp2/fsp_init.c