[PATCH 1/1] bootm: pass kernel load address not entry point for IH_OS_EFI

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Wed Apr 30 12:55:46 CEST 2025


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.schuchardt at 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



More information about the U-Boot mailing list