arm: Dump additional fault registers in abort handlers

Hardware / Coreboot - Julius Werner [chromium.org] - 8 April 2015 02:28 UTC

Paging code is tricky and figuring out what is wrong with it can be a pain. This patch tries to ease the burden by giving a little more information for prefetch and data aborts, dumping the Instruction Fault Address Register (IFAR), Instruction Fault Status Register (IFSR) and Auxiliary Instruction Fault Status Register (AIFSR) or the respective Data registers. These contain additional information about the cause of the abort (internal/external, write or read, fault subtype, etc.) and the faulting address.

BUG=None TEST=I have read through enough imprecise asynchronous external abort reports with this patch that I learned the bit pattern by heart.

Change-Id: If1850c4a6df29b1195714ed0bdf025e51220e8ab

b2b7132 arm: Dump additional fault registers in abort handlers
payloads/libpayload/arch/arm/exception.c | 12 +++++++
payloads/libpayload/include/arm/arch/cache.h | 48 ++++++++++++++++++++++++++
src/arch/arm/armv7/exception.c | 6 ++++
src/arch/arm/include/armv7/arch/cache.h | 48 ++++++++++++++++++++++++++
4 files changed, 114 insertions(+)

Upstream: review.coreboot.org


  • Share