[PATCH] x86: Ensure the e820 map is installed in all cases
Christian Melki
christian.melki at t2data.com
Tue Aug 10 18:11:34 CEST 2021
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 at 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) {
>
More information about the U-Boot
mailing list