acpi: apei: handle SEA notification type for ARMv8
authorTyler Baicar <tbaicar@codeaurora.org>
Wed, 21 Jun 2017 18:17:09 +0000 (12:17 -0600)
committerWill Deacon <will.deacon@arm.com>
Thu, 22 Jun 2017 17:22:03 +0000 (18:22 +0100)
commit7edda0886bc3d1e5418951558a2555af1bc73b0a
tree1667db61f5bb8f8cd3bf87c7fb1cc68d11224597
parent32015c235603a209697d1228667b1fb1cc8a8d06
acpi: apei: handle SEA notification type for ARMv8

ARM APEI extension proposal added SEA (Synchronous External Abort)
notification type for ARMv8.
Add a new GHES error source handling function for SEA. If an error
source's notification type is SEA, then this function can be registered
into the SEA exception handler. That way GHES will parse and report
SEA exceptions when they occur.
An SEA can interrupt code that had interrupts masked and is treated as
an NMI. To aid this the page of address space for mapping APEI buffers
while in_nmi() is always reserved, and ghes_ioremap_pfn_nmi() is
changed to use the helper methods to find the prot_t to map with in
the same way as ghes_ioremap_pfn_irq().

Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
CC: Jonathan (Zhixiong) Zhang <zjzhang@codeaurora.org>
Reviewed-by: James Morse <james.morse@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/Kconfig
arch/arm64/mm/fault.c
drivers/acpi/apei/Kconfig
drivers/acpi/apei/ghes.c
include/acpi/ghes.h