summary refs log tree commit diff stats
path: root/target/arm/cpu-features.h
diff options
context:
space:
mode:
authorGustavo Romero <gustavo.romero@linaro.org>2025-08-26 11:21:28 +0100
committerPeter Maydell <peter.maydell@linaro.org>2025-08-30 16:37:22 +0100
commit6e6d5fb4b928f09b46d0fa99830d75cddb22f73b (patch)
tree71c13a42cb6327048ac34891ca5652ff99209717 /target/arm/cpu-features.h
parent8a60ffe9a8f46ed514656eb4a40d1386c439daf8 (diff)
downloadfocaccia-qemu-6e6d5fb4b928f09b46d0fa99830d75cddb22f73b.tar.gz
focaccia-qemu-6e6d5fb4b928f09b46d0fa99830d75cddb22f73b.zip
target/arm: Implement FEAT_TCR2 and enable with -cpu max
Add FEAT_TCR2, which introduces the TCR2_EL1 and TCR2_EL2 registers.
These registers are extensions of the TCR_ELx registers and provide
top-level control of the EL10 and EL20 translation regimes.

Signed-off-by: Gustavo Romero <gustavo.romero@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20250727074202.83141-5-richard.henderson@linaro.org
Message-ID: <20250711140828.1714666-5-gustavo.romero@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[rth: Remove FEAT_MEC code; handle SCR and HCRX enable bits.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/cpu-features.h')
-rw-r--r--target/arm/cpu-features.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/target/arm/cpu-features.h b/target/arm/cpu-features.h
index e372543bf3..8ec8c3feb3 100644
--- a/target/arm/cpu-features.h
+++ b/target/arm/cpu-features.h
@@ -904,6 +904,11 @@ static inline bool isar_feature_aa64_nv2(const ARMISARegisters *id)
     return FIELD_EX64_IDREG(id, ID_AA64MMFR2, NV) >= 2;
 }
 
+static inline bool isar_feature_aa64_tcr2(const ARMISARegisters *id)
+{
+    return FIELD_EX64_IDREG(id, ID_AA64MMFR3, TCRX) != 0;
+}
+
 static inline bool isar_feature_aa64_sctlr2(const ARMISARegisters *id)
 {
     return FIELD_EX64_IDREG(id, ID_AA64MMFR3, SCTLRX) != 0;