From 93088fb8351c94899b82f0ed4d658cd98a028c1f Mon Sep 17 00:00:00 2001 From: Gedare Bloom Date: Thu, 24 Jun 2021 09:33:22 -0600 Subject: bsps/aarch64: replace boot options with asm switch code --- bsps/aarch64/shared/start/start.S | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'bsps/aarch64/shared/start/start.S') diff --git a/bsps/aarch64/shared/start/start.S b/bsps/aarch64/shared/start/start.S index 338c51f7d0..bc1fb00d70 100644 --- a/bsps/aarch64/shared/start/start.S +++ b/bsps/aarch64/shared/start/start.S @@ -98,7 +98,13 @@ _start: #endif msr SCTLR_EL1, x0 -#ifdef BSP_START_IN_EL3_MONITOR_MODE_SUPPORT + mrs x0, CurrentEL + cmp x0, #(1<<2) + b.eq _el1_start + cmp x0, #(2<<2) + b.eq _el2_start + +_el3_start: /* Drop from EL3 to EL2 */ /* Initialize HCR_EL2 and SCTLR_EL2 */ @@ -131,12 +137,7 @@ _start: #endif msr ELR_EL3, x0 eret -#endif -#if defined(BSP_START_IN_HYP_SUPPORT) || \ - ( defined(BSP_START_IN_EL3_MONITOR_MODE_SUPPORT) && \ - defined(AARCH64_IS_NONSECURE) \ - ) _el2_start: /* Drop from EL2 to EL1 */ @@ -159,8 +160,8 @@ _el2_start: adr x0, _el1_start msr ELR_EL2, x0 eret + _el1_start: -#endif #ifdef RTEMS_SMP /* Read MPIDR and get current processor index */ -- cgit v1.2.3