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? r~ Richard Henderson (3): target/arm: Export merge_syn_data_abort from tlb_helper.c target/arm: Pass the entire mte descriptor to mte_check_fail target/arm: Merge ISS for data abort from tag check fail target/arm/internals.h | 4 ++++ target/arm/mte_helper.c | 24 ++++++++++++++---------- target/arm/tlb_helper.c | 8 +++----- 3 files changed, 21 insertions(+), 15 deletions(-) -- 2.25.1