diff options
author | Balbir Singh <bsingharora@gmail.com> | 2017-09-29 07:26:53 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-10-16 15:12:01 +0300 |
commit | ba41e1e1ccb9771ce41a3b8e2121f95486e76ac9 (patch) | |
tree | a6ca6c4b6e2cd1ce5eabf605b9ec2884fbf912de /arch/powerpc/include/asm/exception-64s.h | |
parent | 81b61fa7a065e639d097b09c303e3212e4264fac (diff) | |
download | linux-ba41e1e1ccb9771ce41a3b8e2121f95486e76ac9.tar.xz |
powerpc/mce: Hookup derror (load/store) UE errors
Extract physical_address for UE errors by walking the page
tables for the mm and address at the NIP, to extract the
instruction. Then use the instruction to find the effective
address via analyse_instr().
We might have page table walking races, but we expect them to
be rare, the physical address extraction is best effort. The idea
is to then hook up this infrastructure to memory failure eventually.
Signed-off-by: Balbir Singh <bsingharora@gmail.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/exception-64s.h')
-rw-r--r-- | arch/powerpc/include/asm/exception-64s.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h index 9a318973af05..b27205297e1d 100644 --- a/arch/powerpc/include/asm/exception-64s.h +++ b/arch/powerpc/include/asm/exception-64s.h @@ -55,6 +55,11 @@ #endif /* + * maximum recursive depth of MCE exceptions + */ +#define MAX_MCE_DEPTH 4 + +/* * EX_LR is only used in EXSLB and where it does not overlap with EX_DAR * EX_CCR similarly with DSISR, but being 4 byte registers there is a hole * in the save area so it's not necessary to overlap them. Could be used |