On Wed, 30 Apr 2025 at 13:55, Heinrich Schuchardt
<heinrich.schucha...@canonical.com> wrote:
>
> The EFI sub-system needs the load address and not the entry point
> to boot the binary passed from the bootm command. The entry point
> is derived from the PE-COFF header of the binary.
>
> Fixes: ecc7fdaa9ef1 ("bootm: Add a bootm command for type IH_OS_EFI")
> Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
> ---
>  boot/bootm_os.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/boot/bootm_os.c b/boot/bootm_os.c
> index dc9d3e61fca..a3c7cb5332e 100644
> --- a/boot/bootm_os.c
> +++ b/boot/bootm_os.c
> @@ -498,11 +498,11 @@ static int do_bootm_efi(int flag, struct bootm_info 
> *bmi)
>         /* We expect to return */
>         images->os.type = IH_TYPE_STANDALONE;
>
> -       image_buf = map_sysmem(images->ep, images->os.image_len);
> +       image_buf = map_sysmem(images->os.image_start, images->os.image_len);
>
>         /* Run EFI image */
>         printf("## Transferring control to EFI (at address %08lx) ...\n",
> -              images->ep);
> +              images->os.image_start);
>         bootstage_mark(BOOTSTAGE_ID_RUN_OS);
>
>         ret = efi_binary_run(image_buf, images->os.image_len,
> --
> 2.48.1
>

Reviewed-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>

Reply via email to