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 ++++++++------- spec/build/bsps/aarch64/xilinx-versal/grp_qemu.yml | 2 -- spec/build/bsps/aarch64/xilinx-versal/grp_vck190.yml | 2 -- spec/build/bsps/aarch64/xilinx-zynqmp/grp_zu3eg.yml | 2 -- spec/build/bsps/optstartmon.yml | 16 ---------------- 5 files changed, 8 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..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 */ 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 -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 -- cgit v1.2.3