summaryrefslogtreecommitdiffstats
path: root/target/arm
diff options
context:
space:
mode:
authorRichard Henderson2020-12-21 21:44:26 +0100
committerPeter Maydell2021-01-08 16:13:38 +0100
commitcc97b0019bb590b9b3c2a623e9ebee48831e0ce3 (patch)
tree327bc90b0bd675f142d2c4d891413c8fc994fc9f /target/arm
parenthw/arm/virt: Remove virt machine state 'smp_cpus' (diff)
downloadqemu-cc97b0019bb590b9b3c2a623e9ebee48831e0ce3.tar.gz
qemu-cc97b0019bb590b9b3c2a623e9ebee48831e0ce3.tar.xz
qemu-cc97b0019bb590b9b3c2a623e9ebee48831e0ce3.zip
target/arm: Fix MTE0_ACTIVE
In 50244cc76abc we updated mte_check_fail to match the ARM pseudocode, using the correct EL to select the TCF field. But we failed to update MTE0_ACTIVE the same way, which led to g_assert_not_reached(). Cc: qemu-stable@nongnu.org Buglink: https://bugs.launchpad.net/bugs/1907137 Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20201221204426.88514-1-richard.henderson@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm')
-rw-r--r--target/arm/helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 2d0d4cd1e1..d077dd9ef5 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -12928,7 +12928,7 @@ static uint32_t rebuild_hflags_a64(CPUARMState *env, int el, int fp_el,
if (FIELD_EX32(flags, TBFLAG_A64, UNPRIV)
&& tbid
&& !(env->pstate & PSTATE_TCO)
- && (sctlr & SCTLR_TCF0)
+ && (sctlr & SCTLR_TCF)
&& allocation_tag_access_enabled(env, 0, sctlr)) {
flags = FIELD_DP32(flags, TBFLAG_A64, MTE0_ACTIVE, 1);
}