efi_loader: Fix loaded_image handle passing from EL3
authorAlexander Graf <agraf@suse.de>
Sun, 23 Sep 2018 14:23:56 +0000 (16:23 +0200)
committerAlexander Graf <agraf@suse.de>
Sun, 23 Sep 2018 19:55:31 +0000 (21:55 +0200)
When running in EL3 mode on AArch64, we have to first drop to EL2
to execute a UEFI payload. When dropping down, the arguments to
the entry point have to stay identical to the ones for normal entry
though.

In commit ea54ad59286 ("efi_loader: pass handle of loaded image")
we incorrectly changed that logic and had the el3 entry path diverge.
Fix it up by syncing it back to what it's supposed to be.

Fixes: ea54ad59286 ("efi_loader: pass handle of loaded image")
Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
cmd/bootefi.c

index 5fc054c..6395d4b 100644 (file)
@@ -408,7 +408,7 @@ static efi_status_t do_bootefi_exec(void *efi,
 
                /* Move into EL2 and keep running there */
                armv8_switch_to_el2((ulong)entry,
-                                   (ulong)&loaded_image_info_obj.handle,
+                                   (ulong)loaded_image_info_obj.handle,
                                    (ulong)&systab, 0, (ulong)efi_run_in_el2,
                                    ES_TO_AARCH64);