]> git.proxmox.com Git - mirror_qemu.git/commit
target/arm: Report M-profile alignment faults correctly to the guest
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 23 Jul 2021 16:21:43 +0000 (17:21 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 27 Jul 2021 09:57:39 +0000 (10:57 +0100)
commitd4f6883912dba8a710274e2364c440c210e4ec65
tree1fb48c15e686db4391d15530c817db97a13906b7
parent0c317eb3dd407f2ec7fcaccec79be6c3987573e2
target/arm: Report M-profile alignment faults correctly to the guest

For M-profile, we weren't reporting alignment faults triggered by the
generic TCG code correctly to the guest.  These get passed into
arm_v7m_cpu_do_interrupt() as an EXCP_DATA_ABORT with an A-profile
style exception.fsr value of 1.  We didn't check for this, and so
they fell through into the default of "assume this is an MPU fault"
and were reported to the guest as a data access violation MPU fault.

Report these alignment faults as UsageFaults which set the UNALIGNED
bit in the UFSR.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210723162146.5167-4-peter.maydell@linaro.org
target/arm/m_helper.c