aboutsummaryrefslogtreecommitdiff
path: root/cmd/bootefi.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-01-30 14:49:17 -0500
committerTom Rini <trini@konsulko.com>2021-01-30 14:49:17 -0500
commit76404f86a24aa28efc26a296bf6ab9d697c60b9f (patch)
tree94d44ddf983d8b5b9cdeeae6df5c9d7cff1142ab /cmd/bootefi.c
parent472a716b8fdfd88a27cb675e4ea8e12cb4f79fc3 (diff)
parent18dd984c56b339be74e390df80fd3dc21b7a9b58 (diff)
Merge tag 'efi-2021-04-rc1-4' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi
Pull request for UEFI sub-system for efi-2021-04-rc1-4 Bug fixes: * re-read the partition table after writing GPT * fix a problem booting ARMv7 boards with PSCI without UEFI * make aarch64 UEFI test programs compatible with GRUB linux command * correct the alignment check in the EFI_BLOCK_IO_PROTOCOL * check EFI_BLOCK_IO_PROTOCOL.Media->LastBlock in unit test
Diffstat (limited to 'cmd/bootefi.c')
-rw-r--r--cmd/bootefi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index c8eb5c32b0..81dd8e0284 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -8,6 +8,7 @@
#define LOG_CATEGORY LOGC_EFI
#include <common.h>
+#include <bootm.h>
#include <charset.h>
#include <command.h>
#include <dm.h>
@@ -338,6 +339,9 @@ static efi_status_t do_bootefi_exec(efi_handle_t handle, void *load_options)
efi_uintn_t exit_data_size = 0;
u16 *exit_data = NULL;
+ /* On ARM switch from EL3 or secure mode to EL2 or non-secure mode */
+ switch_to_non_secure_mode();
+
/* Call our payload! */
ret = EFI_CALL(efi_start_image(handle, &exit_data_size, &exit_data));
if (ret != EFI_SUCCESS) {