On 12/4/25 23:35, Alex Bennée wrote:
PC alignment faults have priority over instruction aborts and we have
code to deal with this in the translation front-ends. However during
tb_lookup we can see a potentially faulting probe which doesn't get a
MemOp set. If the page isn't available this results in
EC_INSNABORT (0x20) instead of EC_PCALIGNMENT (0x22).

As there is no easy way to set the appropriate MemOp in the
instruction fetch probe path lets just detect it in
arm_cpu_tlb_fill_align() ahead of the main alignment check. We also
teach arm_deliver_fault to deliver the right syndrome for
MMU_INST_FETCH alignment issues.

Fixes: https://gitlab.com/qemu-project/qemu/-/issues/3233
Tested-by: Jessica Clarke <[email protected]>
Signed-off-by: Alex Bennée <[email protected]>

This feels like a qemu-stable material (for all active stable
branches).

I'm picking it up for 10.0.x and 10.1.x.  Please let me know
if I shouldn't.

Thanks,

/mjt

Reply via email to