diff options
author | Gedare Bloom <gedare@rtems.org> | 2021-06-24 09:33:22 -0600 |
---|---|---|
committer | Gedare Bloom <gedare@rtems.org> | 2021-06-24 12:55:23 -0600 |
commit | 93088fb8351c94899b82f0ed4d658cd98a028c1f (patch) | |
tree | 5073d5471b637f201b1b8064bd343227140cb1eb /bsps | |
parent | 76c6caad52244ab9a14151620a80ff0f71035b6c (diff) |
bsps/aarch64: replace boot options with asm switch code
Diffstat (limited to 'bsps')
-rw-r--r-- | bsps/aarch64/shared/start/start.S | 15 |
1 files changed, 8 insertions, 7 deletions
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 */ |