From 78f56ee71c9ffe7a6ee36268f0fe1f7ca7d01738 Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Tue, 28 Mar 2023 16:55:06 +0100 Subject: [PATCH] fix(aarch64): allow build with ARM_ARCH_MINOR=4 When building the FVP platform with SPMD (which activates the context switch code), but keeping ARM_ARCH_MINOR to 4 or lower, the assembler will complain about the SCXTNUM_EL2 system register not being supported by the "selected processor". Allow building this combination of options by defining the SCXTNUM_EL2 register via the generic S3_ encoding, so any assembler, with any -march settings, will generate the access without any warnings. We do protect accesses to this register by runtime checks, if not explicitly requested otherwise, so can override the toolchain in this case. Change-Id: I0941f4c4dcf541bd968c153b9c3fac61ca23f7ef Signed-off-by: Andre Przywara --- include/arch/aarch64/arch.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/arch/aarch64/arch.h b/include/arch/aarch64/arch.h index 2ce1be8f0..dee7fdcff 100644 --- a/include/arch/aarch64/arch.h +++ b/include/arch/aarch64/arch.h @@ -1234,6 +1234,8 @@ #define GPCCR_EL3 S3_6_C2_C1_6 #define GPTBR_EL3 S3_6_C2_C1_4 +#define SCXTNUM_EL2 S3_4_C13_C0_7 + /******************************************************************************* * RAS system registers ******************************************************************************/