This series adds support for the ARM Error Source Table (AEST) based on the latest version of the AEST from ARM [0]. The AEST driver supports both memory mapped and system register interfaces. This series assumes system register interfaces are only registered with private peripheral interrupts (PPIs); otherwise there is no guarantee the core handling the error is the core which took the error and has the syndrome info in it's system registers. SEAs and SEIs could also have syndrome information present in the RAS extension system registers. That handling is tied into the system register handling code. This is meant to be initial support for AEST to address the current gaps with systems that support ARMv8.2 RAS extensions but don't have firmware-first support. This series simply logs all the errors it finds and triggers a kernel panic if there is an UE present. Future work: - UER handling to avoid panic - Looping through all external abort capable (ERR<n>FR.UE != 0) error nodes in SEA/SEI handling - ARMv8.4 extension support [0] https://static.docs.arm.com/den0085/a/DEN0085_RAS_ACPI_1.0_BETA_1.pdf Tyler Baicar (4): ACPI/AEST: Initial AEST driver arm64: mm: Add RAS extension system register check to SEA handling arm64: traps: Add RAS extension system register check to serror handling trace, ras: add ARM RAS extension trace event arch/arm64/include/asm/ras.h | 41 +++++ arch/arm64/kernel/Makefile | 2 +- arch/arm64/kernel/ras.c | 70 +++++++++ arch/arm64/kernel/traps.c | 3 + arch/arm64/mm/fault.c | 3 + drivers/acpi/arm64/Kconfig | 3 + drivers/acpi/arm64/Makefile | 1 + drivers/acpi/arm64/aest.c | 366 +++++++++++++++++++++++++++++++++++++++++++ include/linux/acpi_aest.h | 94 +++++++++++ include/ras/ras_event.h | 46 ++++++ 10 files changed, 628 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/include/asm/ras.h create mode 100644 arch/arm64/kernel/ras.c create mode 100644 drivers/acpi/arm64/aest.c create mode 100644 include/linux/acpi_aest.h -- 1.8.3.1