coreboot-kgpe-d16/payloads/libpayload/arch/arm
Julius Werner b2b7132fa3 arm: Dump additional fault registers in abort handlers
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
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: bf3b4924121825a5ceef7e5c14b7b307d01f8e9c
Original-Change-Id: I56a0557d4257f40b5b30c559c84eaf9b9f729099
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/223784
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/9345
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2015-04-08 09:28:37 +02:00
..
Config.in libpayload: arm: Pass the coreboot table location to the payload. 2014-12-09 18:38:48 +01:00
Makefile.inc libpayload: Add remote GDB support 2015-01-09 07:06:51 +01:00
asmlib.h arm: Update mem* functions to newer versions 2014-09-22 18:47:42 +02:00
cache.c arm: Redesign, clarify and clean up cache related code 2014-11-10 21:34:49 +01:00
coreboot.c libpayload: Consolidate coreboot table parsing 2015-03-20 15:31:59 +01:00
cpu.S arm: Fix minor mistake in cache maintenance assembly 2014-12-15 23:27:41 +01:00
dummy_media.c ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
eabi_compat.c libpayload: arm: Add EABI compatible utility functions. 2014-12-30 19:04:54 +01:00
exception.c arm: Dump additional fault registers in abort handlers 2015-04-08 09:28:37 +02:00
exception_asm.S libpayload: Rework exception hook interface 2015-01-09 07:05:15 +01:00
gdb.c libpayload: Add remote GDB support 2015-01-09 07:06:51 +01:00
head.S libpayload: arm: add code to clear bss 2015-01-06 16:56:23 +01:00
libpayload.ldscript ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
main.c libpayload: Make it possible to install callbacks for particular exceptions. 2014-12-09 18:39:06 +01:00
memcpy.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
memmove.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
memset.S arm: Put assembly functions into separate sections 2014-11-13 06:49:41 +01:00
selfboot.c libpayload: Introduce new Kconfig to explicitly allow GPL code 2015-01-09 07:06:27 +01:00
sysinfo.c ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
timer.c ARM: Generalize armv7 as arm. 2014-09-08 18:59:23 +02:00
util.S arm: Move libgcc assembly macros to arch/asm.h 2014-09-22 18:46:57 +02:00
virtual.c ARM: API to Map Physical Address to Wipe Memory above 4GB 2014-12-09 18:39:34 +01:00