On 1/7/21 7:54 AM, Peter Maydell wrote: >> - && (sctlr & SCTLR_TCF0) >> + && (sctlr & SCTLR_TCF) >> && allocation_tag_access_enabled(env, 0, sctlr)) { >> flags = FIELD_DP32(flags, TBFLAG_A64, MTE0_ACTIVE, 1); >> } > > > I don't understand this change, could you explain a bit more? > In commit 50244cc76abcac we change to looking at the TCF > field corresponding to the actual current EL instead of the > EL for the memory-access.
Correct. > But if we're doing that then why > should we be looking at exclusively SCTLR_TCF0 in this > for-unpriv-access code rather than doing the same thing we do > for normal accesses and checking > (sctlr & (el == 0 ? SCTLR_TCF0 : SCTLR_TCF)) Because this is for the UNPRIV instructions which are UNDEF at el == 0. r~