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