From: Benjamin Doron <benjamin.do...@9elements.com> It appears that coreboot's GDT has changed recently, as the latest U-Boot builds throw general protection faults early in the entrypoint (arch/x86/cpu/start.S) while attempting to setup the segments.
When this config symbol is unset, U-Boot relies on the GDT loaded by start16.s. However, this is never compiled into coreboot builds, so instead, it uses whichever GDT was loaded by coreboot. This is subject to change. Selecting this config symbol makes the 32-bit entrypoint code load a GDT that matches U-Boot's expectations, fixing this issue. Cc: Simon Glass <s...@chromium.org> Signed-off-by: Benjamin Doron <benjamin.do...@9elements.com> --- configs/coreboot_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/coreboot_defconfig b/configs/coreboot_defconfig index dfb97a3d302c..fbf6a4fea088 100644 --- a/configs/coreboot_defconfig +++ b/configs/coreboot_defconfig @@ -1,4 +1,5 @@ CONFIG_X86=y +CONFIG_X86_LOAD_FROM_32_BIT=y CONFIG_TEXT_BASE=0x1110000 CONFIG_SYS_MALLOC_LEN=0x2000000 CONFIG_NR_DRAM_BANKS=8 -- 2.51.0