[PATCH v2 7/7] bsps/aarch64: replace boot options with asm switch code
Gedare Bloom
gedare at rtems.org
Thu Jun 24 15:50:24 UTC 2021
---
bsps/aarch64/shared/start/start.S | 17 ++++++++++-------
.../bsps/aarch64/xilinx-versal/grp_qemu.yml | 2 --
.../bsps/aarch64/xilinx-versal/grp_vck190.yml | 2 --
.../bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml | 2 --
spec/build/bsps/optstartmon.yml | 16 ----------------
5 files changed, 10 insertions(+), 29 deletions(-)
delete mode 100644 spec/build/bsps/optstartmon.yml
diff --git a/bsps/aarch64/shared/start/start.S b/bsps/aarch64/shared/start/start.S
index 338c51f7d0..5b535463de 100644
--- a/bsps/aarch64/shared/start/start.S
+++ b/bsps/aarch64/shared/start/start.S
@@ -98,7 +98,15 @@ _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
+ cmp x0, #(3<<2)
+ b.eq _el3_start
+
+_el3_start:
/* Drop from EL3 to EL2 */
/* Initialize HCR_EL2 and SCTLR_EL2 */
@@ -131,12 +139,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 +162,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 */
diff --git a/spec/build/bsps/aarch64/xilinx-versal/grp_qemu.yml b/spec/build/bsps/aarch64/xilinx-versal/grp_qemu.yml
index 71d8c9ac49..5a98190ee3 100644
--- a/spec/build/bsps/aarch64/xilinx-versal/grp_qemu.yml
+++ b/spec/build/bsps/aarch64/xilinx-versal/grp_qemu.yml
@@ -9,8 +9,6 @@ ldflags: []
links:
- role: build-dependency
uid: grp
-- role: build-dependency
- uid: ../../optstartmon
- role: build-dependency
uid: tstqemu
type: build
diff --git a/spec/build/bsps/aarch64/xilinx-versal/grp_vck190.yml b/spec/build/bsps/aarch64/xilinx-versal/grp_vck190.yml
index c10f2a725f..d47895b489 100644
--- a/spec/build/bsps/aarch64/xilinx-versal/grp_vck190.yml
+++ b/spec/build/bsps/aarch64/xilinx-versal/grp_vck190.yml
@@ -9,8 +9,6 @@ ldflags: []
links:
- role: build-dependency
uid: grp
-- role: build-dependency
- uid: ../../optstarthyp
- role: build-dependency
uid: tstvck190
type: build
diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml
index 801195cdf5..fa6347b2e4 100644
--- a/spec/build/bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml
+++ b/spec/build/bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml
@@ -9,8 +9,6 @@ ldflags: []
links:
- role: build-dependency
uid: grp
-- role: build-dependency
- uid: ../../optstarthyp
- role: build-dependency
uid: tstzu3eg
type: build
diff --git a/spec/build/bsps/optstartmon.yml b/spec/build/bsps/optstartmon.yml
deleted file mode 100644
index 9c48aad926..0000000000
--- a/spec/build/bsps/optstartmon.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
-actions:
-- get-boolean: null
-- define-condition: null
-build-type: option
-copyrights:
-- Copyright (C) 2021 Gedare Bloom <gedare at rtems.org>
-default: true
-default-by-variant: []
-description: |
- If set to true, then a system start in monitor mode (EL3) is
- supported, otherwise it is unsupported.
-enabled-by: true
-links: []
-name: BSP_START_IN_EL3_MONITOR_MODE_SUPPORT
-type: build
--
2.25.1
More information about the devel
mailing list