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~

Reply via email to