[PATCH v3 14/29] efi: arm: Don't do the EL2 switch when running under EFI
Simon Glass
sjg at chromium.org
Sun Feb 9 03:01:13 CET 2025
The previous bootloader has likely done this already, so avoid trying to
do it again. This fixes a crash in QEMU when booting from EDK2
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
arch/arm/lib/bootm.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 974cbfe8400..688c2f3f29b 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -16,6 +16,7 @@
#include <command.h>
#include <cpu_func.h>
#include <dm.h>
+#include <init.h>
#include <log.h>
#include <asm/global_data.h>
#include <dm/root.h>
@@ -186,8 +187,10 @@ __weak void setup_board_tags(struct tag **in_params) {}
#ifdef CONFIG_ARM64
static void do_nonsec_virt_switch(void)
{
- smp_kick_all_cpus();
- dcache_disable(); /* flush cache before swtiching to EL2 */
+ if (ll_boot_init()) {
+ smp_kick_all_cpus();
+ dcache_disable(); /* flush cache before swtiching to EL2 */
+ }
}
#endif
--
2.43.0
More information about the U-Boot
mailing list