[PATCH 1/1] efi_loader: don't use EFI_LOADER_DATA internally

Ilias Apalodimas ilias.apalodimas at linaro.org
Tue Nov 29 16:38:19 CET 2022


Hi Heinrich,

On Tue, 29 Nov 2022 at 17:04, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> Memory allocated by U-Boot for internal usage should be
> EFI_BOOT_SERVICES_DATA or _CODE or EFI_RUNTIME_SERVICES_DATA or _CODE.

Agreed, EFI_LOADER_DATA should be for EFI apps.

>
> Reported-by: François-Frédéric Ozog <ff at ozog.com>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>

[...]

> diff --git a/lib/efi_loader/efi_memory.c b/lib/efi_loader/efi_memory.c
> index a17b426d11..0c336f98d2 100644
> --- a/lib/efi_loader/efi_memory.c
> +++ b/lib/efi_loader/efi_memory.c
> @@ -823,7 +823,7 @@ static void add_u_boot_and_runtime(void)
>                        uboot_stack_size) & ~EFI_PAGE_MASK;
>         uboot_pages = ((uintptr_t)map_sysmem(gd->ram_top - 1, 0) -
>                        uboot_start + EFI_PAGE_MASK) >> EFI_PAGE_SHIFT;
> -       efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_LOADER_DATA,
> +       efi_add_memory_map_pg(uboot_start, uboot_pages, EFI_BOOT_SERVICES_DATA,
>                               false);

I am not sure if we should have this as _DATA or _CODE.  None of these
is an exact match of what we allocate here and both of these are
backed by EFI_MEMORY_WB.  So your reasoning here is prefer _DATA since
it's not memory that holds boottime service drivers?

[...]
Thanks
/Ilias


More information about the U-Boot mailing list