arm64: exception: handle Synchronous External Abort
authorTyler Baicar <tbaicar@codeaurora.org>
Wed, 21 Jun 2017 18:17:08 +0000 (12:17 -0600)
committerWill Deacon <will.deacon@arm.com>
Thu, 22 Jun 2017 17:21:46 +0000 (18:21 +0100)
commit32015c235603a209697d1228667b1fb1cc8a8d06
tree174a3293200843e44853872a3d230bf47dc3fdcc
parent2f74f09bce4f8d0236f20174a6daae63e10fe733
arm64: exception: handle Synchronous External Abort

SEA exceptions are often caused by an uncorrected hardware
error, and are handled when data abort and instruction abort
exception classes have specific values for their Fault Status
Code.
When SEA occurs, before killing the process, report the error
in the kernel logs.
Update fault_info[] with specific SEA faults so that the
new SEA handler is used.

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>
[will: use NULL instead of 0 when assigning si_addr]
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/esr.h
arch/arm64/mm/fault.c