[PATCH] arm64: versal: Add support to load an app at EL1
Ashok Reddy Soma
ashok.reddy.soma at xilinx.com
Fri May 6 07:53:45 CEST 2022
Add support to switch to EL1 and load an EL1 app from U-Boot which is
executing at EL2 or EL3 in aarch64 mode.
Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma at xilinx.com>
---
board/xilinx/versal/board.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/board/xilinx/versal/board.c b/board/xilinx/versal/board.c
index 2e2807eee4..a0f937eb45 100644
--- a/board/xilinx/versal/board.c
+++ b/board/xilinx/versal/board.c
@@ -91,6 +91,23 @@ int board_early_init_r(void)
return 0;
}
+unsigned long do_go_exec(ulong (*entry)(int, char * const []), int argc,
+ char *const argv[])
+{
+ int ret = 0;
+
+ if (current_el() > 1) {
+ smp_kick_all_cpus();
+ dcache_disable();
+ armv8_switch_to_el1(0x0, 0, 0, 0, (unsigned long)entry,
+ ES_TO_AARCH64);
+ } else {
+ printf("FAIL: current EL is not above EL1\n");
+ ret = EINVAL;
+ }
+ return ret;
+}
+
static u8 versal_get_bootmode(void)
{
u8 bootmode;
--
2.17.1
More information about the U-Boot
mailing list