diff options
author | Mark Rutland <mark.rutland@arm.com> | 2021-06-08 14:37:42 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-06-08 18:35:31 +0200 |
commit | e0e3903f83d5e41ab7e7737ebe41ef36f578dc0a (patch) | |
tree | 028cda820188f42346c5c1f1c31ff73e35ae85da /arch/arm64/mm/fault.c | |
parent | arm64: mm: Add is_el1_data_abort() helper (diff) | |
download | linux-e0e3903f83d5e41ab7e7737ebe41ef36f578dc0a.tar.xz linux-e0e3903f83d5e41ab7e7737ebe41ef36f578dc0a.zip |
arm64: mm: decode xFSC in mem_abort_decode()
It would be helpful if mem_abort_decode() could decode the DFSC/IFSC, as
this can make it easier to identify common bugs (e.g. accesses which
trigger alignment faults) without having to manually decode the xFSC
value.
Decode the xFSC in mem_abort_decode().
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210608123742.11921-1-mark.rutland@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 5c855b2ab93b..6786cf152666 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -99,6 +99,8 @@ static void mem_abort_decode(unsigned int esr) pr_alert(" EA = %lu, S1PTW = %lu\n", (esr & ESR_ELx_EA) >> ESR_ELx_EA_SHIFT, (esr & ESR_ELx_S1PTW) >> ESR_ELx_S1PTW_SHIFT); + pr_alert(" FSC = 0x%02x: %s\n", (esr & ESR_ELx_FSC), + esr_to_fault_info(esr)->name); if (esr_is_data_abort(esr)) data_abort_decode(esr); |