diff options
author | Balbir Singh <bsingharora@gmail.com> | 2017-09-29 14:26:53 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-10-16 23:12:01 +1100 |
commit | ba41e1e1ccb9771ce41a3b8e2121f95486e76ac9 (patch) | |
tree | a6ca6c4b6e2cd1ce5eabf605b9ec2884fbf912de /arch/powerpc/include/asm/mce.h | |
parent | 81b61fa7a065e639d097b09c303e3212e4264fac (diff) | |
download | linux-ba41e1e1ccb9771ce41a3b8e2121f95486e76ac9.tar.bz2 |
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/mce.h')
-rw-r--r-- | arch/powerpc/include/asm/mce.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h index 75292c7eee48..3a1226e9b465 100644 --- a/arch/powerpc/include/asm/mce.h +++ b/arch/powerpc/include/asm/mce.h @@ -204,7 +204,7 @@ struct mce_error_info { extern void save_mce_event(struct pt_regs *regs, long handled, struct mce_error_info *mce_err, uint64_t nip, - uint64_t addr); + uint64_t addr, uint64_t phys_addr); extern int get_mce_event(struct machine_check_event *mce, bool release); extern void release_mce_event(void); extern void machine_check_queue_event(void); |