summaryrefslogtreecommitdiffstats
path: root/target/arm/internals.h
diff options
context:
space:
mode:
authorRebecca Cran2021-02-08 07:56:57 +0100
committerPeter Maydell2021-02-11 12:50:13 +0100
commitdc8b18534ea1dcc90d80ad9a61a3b0aa7eb312fb (patch)
treec53883a976199ab5f328229d5f73da25f1abd8c5 /target/arm/internals.h
parenthw/arm: Remove GPIO from unimplemented NPCM7XX (diff)
downloadqemu-dc8b18534ea1dcc90d80ad9a61a3b0aa7eb312fb.tar.gz
qemu-dc8b18534ea1dcc90d80ad9a61a3b0aa7eb312fb.tar.xz
qemu-dc8b18534ea1dcc90d80ad9a61a3b0aa7eb312fb.zip
target/arm: Add support for FEAT_DIT, Data Independent Timing
Add support for FEAT_DIT. DIT (Data Independent Timing) is a required feature for ARMv8.4. Since virtual machine execution is largely nondeterministic and TCG is outside of the security domain, it's implemented as a NOP. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210208065700.19454-2-rebecca@nuviainc.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/internals.h')
-rw-r--r--target/arm/internals.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/target/arm/internals.h b/target/arm/internals.h
index 448982dd2f..b251fe4450 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -1228,6 +1228,9 @@ static inline uint32_t aarch32_cpsr_valid_mask(uint64_t features,
if (isar_feature_aa32_pan(id)) {
valid |= CPSR_PAN;
}
+ if (isar_feature_aa32_dit(id)) {
+ valid |= CPSR_DIT;
+ }
return valid;
}
@@ -1246,6 +1249,9 @@ static inline uint32_t aarch64_pstate_valid_mask(const ARMISARegisters *id)
if (isar_feature_aa64_uao(id)) {
valid |= PSTATE_UAO;
}
+ if (isar_feature_aa64_dit(id)) {
+ valid |= PSTATE_DIT;
+ }
if (isar_feature_aa64_mte(id)) {
valid |= PSTATE_TCO;
}