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().

Backports cc97b0019bb590b9b3c2a623e9ebee48831e0ce3
This commit is contained in:
Richard Henderson 2021-03-03 19:56:21 -05:00 committed by Lioncash
parent d0e0c847e1
commit 85b417d438

View File

@ -12556,7 +12556,7 @@ void cpu_get_tb_cpu_state(CPUARMState *env, target_ulong *pc,
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);
}