Message ID | 20210710211515.1.I245c034f736e5cb88039244d13f8e81ee9f26373@changeid |
---|---|
State | Accepted |
Commit | 2f91fc40039d2ef6f433d5c56c4f4701975f510f |
Delegated to: | Bin Meng |
Headers | show |
Series | x86: Ensure the e820 map is installed in all cases | expand |
On Sun, Jul 11, 2021 at 11:15 AM Simon Glass <sjg@chromium.org> wrote: > > 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> > --- > > arch/x86/lib/zimage.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
On Thu, Jul 15, 2021 at 7:54 PM Bin Meng <bmeng.cn@gmail.com> wrote: > > On Sun, Jul 11, 2021 at 11:15 AM Simon Glass <sjg@chromium.org> wrote: > > > > 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> > > --- > > > > arch/x86/lib/zimage.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > Reviewed-by: Bin Meng <bmeng.cn@gmail.com> applied to u-boot-x86, thanks!
Simon. Sorry for the late reply. Tested on Virtualbox and on real hardware (DFI GHF51). Works for me. On 7/11/21 5:15 AM, Simon Glass wrote: > 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> > --- > > arch/x86/lib/zimage.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c > index 90fc8a466d7..cf4210cd4ba 100644 > --- a/arch/x86/lib/zimage.c > +++ b/arch/x86/lib/zimage.c > @@ -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) { >
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index 90fc8a466d7..cf4210cd4ba 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -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) {
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> --- arch/x86/lib/zimage.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)