Hi Simon

On Wed, 30 Apr 2025 at 16:54, Simon Glass <s...@chromium.org> wrote:
>
> Hi Heinrich,
>
> On Wed, 30 Apr 2025 at 04: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,
>
> In this case ep should be set to image_start as it is with many
> methods. How come it isn't in this case?

It's explained in the commit message

/Ilias
>
> > --
> > 2.48.1
> >
>
> Regards,
> Simon

Reply via email to