]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
x86: Ensure the e820 map is installed in all cases
authorSimon Glass <sjg@chromium.org>
Sun, 11 Jul 2021 03:15:21 +0000 (21:15 -0600)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 15 Jul 2021 11:56:16 +0000 (19:56 +0800)
This is a revert of a recent logic change in setup_zimage(). We do
actually need to install this information always. Change it to install
from the Coreboot tables if available, else the normal source.

Fixes: e7bae8283fe ("x86: Allow installing an e820 when booting from coreboot")
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/lib/zimage.c

index 90fc8a466d7d6d28524d79a94c74e043954e98a1..cf4210cd4bab02b253f0a634851d80feb7c2aeb7 100644 (file)
@@ -313,12 +313,12 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,
        int bootproto = get_boot_protocol(hdr, false);
 
        log_debug("Setup E820 entries\n");
-       if (ll_boot_init()) {
-               setup_base->e820_entries = install_e820_map(
-                       ARRAY_SIZE(setup_base->e820_map), setup_base->e820_map);
-       } else if (IS_ENABLED(CONFIG_COREBOOT_SYSINFO)) {
+       if (IS_ENABLED(CONFIG_COREBOOT_SYSINFO)) {
                setup_base->e820_entries = cb_install_e820_map(
                        ARRAY_SIZE(setup_base->e820_map), setup_base->e820_map);
+       } else {
+               setup_base->e820_entries = install_e820_map(
+                       ARRAY_SIZE(setup_base->e820_map), setup_base->e820_map);
        }
 
        if (bootproto == 0x0100) {