mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-09 16:56:58 +02:00
bootm: pass kernel load address not entry point for IH_OS_EFI
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: ecc7fdaa9e
("bootm: Add a bootm command for type IH_OS_EFI")
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
6f399d4116
commit
ac3b51ef72
@ -498,11 +498,11 @@ static int do_bootm_efi(int flag, struct bootm_info *bmi)
|
|||||||
/* We expect to return */
|
/* We expect to return */
|
||||||
images->os.type = IH_TYPE_STANDALONE;
|
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 */
|
/* Run EFI image */
|
||||||
printf("## Transferring control to EFI (at address %08lx) ...\n",
|
printf("## Transferring control to EFI (at address %08lx) ...\n",
|
||||||
images->ep);
|
images->os.image_start);
|
||||||
bootstage_mark(BOOTSTAGE_ID_RUN_OS);
|
bootstage_mark(BOOTSTAGE_ID_RUN_OS);
|
||||||
|
|
||||||
ret = efi_binary_run(image_buf, images->os.image_len,
|
ret = efi_binary_run(image_buf, images->os.image_len,
|
||||||
|
Loading…
Reference in New Issue
Block a user