diff options
author | Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> | 2018-09-11 17:27:00 +0300 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2018-09-19 14:59:22 +0300 |
commit | a43c1590426c44a5c6bbaf51b70a36a5c6d86914 (patch) | |
tree | df756695fbf54f7aca9bf2d9f54160a13ffebe29 /arch/powerpc/platforms/pseries/pseries.h | |
parent | 04fce21c9db54695389200b50b0b7a7866232ba6 (diff) | |
download | linux-a43c1590426c44a5c6bbaf51b70a36a5c6d86914.tar.xz |
powerpc/pseries: Flush SLB contents on SLB MCE errors.
On pseries, as of today system crashes if we get a machine check
exceptions due to SLB errors. These are soft errors and can be fixed
by flushing the SLBs so the kernel can continue to function instead of
system crash. We do this in real mode before turning on MMU. Otherwise
we would run into nested machine checks. This patch now fetches the
rtas error log in real mode and flushes the SLBs on SLB/ERAT errors.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Michal Suchanek <msuchanek@suse.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/pseries/pseries.h')
-rw-r--r-- | arch/powerpc/platforms/pseries/pseries.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h index 60db2ee511fb..619f8f3fa173 100644 --- a/arch/powerpc/platforms/pseries/pseries.h +++ b/arch/powerpc/platforms/pseries/pseries.h @@ -24,6 +24,7 @@ struct pt_regs; extern int pSeries_system_reset_exception(struct pt_regs *regs); extern int pSeries_machine_check_exception(struct pt_regs *regs); +extern long pseries_machine_check_realmode(struct pt_regs *regs); #ifdef CONFIG_SMP extern void smp_init_pseries(void); |