On 8/12/20 10:52 AM, Richard Henderson wrote:
> On 8/12/20 10:38 AM, Andrey Konovalov wrote:
>> On Wed, Aug 12, 2020 at 7:19 PM Richard Henderson
>> <richard.hender...@linaro.org> wrote:
>>>
>>> As reported by Andrey, I was missing the complete ISS info for
>>> the Data Abort raised upon a synchronous tag check fail.
>>>
>>> The following should fix that.  All the twisty little rules for
>>> the ISS.ISV bit are already handled by merge_syn_data_abort.
>>> Probably the most important bit that was missing was ISS.WnR,
>>> as that is independent of ISS.ISV.
>>>
>>> Andrey, will you please test?
>>
>> Looks like WnR is now being set properly, but SAS is still always 0.
> 
> Are you looking at ESR_EL1?
> 
> On page D13-2992 of revision F.a:
> 
> # ISV is 0 for all faults reported in ESR_EL1 or ESR_EL3.
> 
> which means that ISS[23:14] are RES0, which includes SAS.

Actually, note that AArch64.TagCheckFault never fills in anything except WnR.
So the final patch here merging the recorded syndrome information is wrong.  I
was only missing WnR in the original implementation.


r~

Reply via email to