armv7m: Classify faults as MemManage or BusFault
commit5dd0641d234e355597be62e5279d8a519c831625
authorMichael Davidsaver <mdavidsaver@gmail.com>
Fri, 2 Jun 2017 10:51:48 +0000 (2 11:51 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 2 Jun 2017 10:51:48 +0000 (2 11:51 +0100)
tree9625608046d48707817e6366e71afff133921555
parent790a11503cfb5e1dcd031ea2212bbebae4ca3cec
armv7m: Classify faults as MemManage or BusFault

General logic is that operations stopped by the MPU are MemManage,
and those which go through the MPU and are caught by the unassigned
handle are BusFault. Distinguish these by looking at the
exception.fsr values, and set the CFSR bits and (if appropriate)
fill in the BFAR or MMFAR with the exception address.

Signed-off-by: Michael Davidsaver <mdavidsaver@gmail.com>
Message-id: 1493122030-32191-12-git-send-email-peter.maydell@linaro.org
[PMM: i-side faults do not set BFAR/MMFAR, only d-side;
 added some CPU_LOG_INT logging]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
target/arm/helper.c