aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/mce.h
diff options
context:
space:
mode:
authorMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>2013-10-30 10:35:49 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-12-05 00:05:21 -0500
commitb5ff4211a8294be2ddbaf963fa3666fa042292a8 (patch)
treec87b212ebfddc4c42c54c61ee1b3fb3d49e0c941 /arch/powerpc/include/asm/mce.h
parent36df96f8acaf51992177645eb2d781f766ce97dc (diff)
powerpc/book3s: Queue up and process delayed MCE events.
When machine check real mode handler can not continue into host kernel in V mode, it returns from the interrupt and we loose MCE event which never gets logged. In such a situation queue up the MCE event so that we can log it later when we get back into host kernel with r1 pointing to kernel stack e.g. during syscall exit. Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/mce.h')
-rw-r--r--arch/powerpc/include/asm/mce.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h
index 87cad2a808c2..3276b409299c 100644
--- a/arch/powerpc/include/asm/mce.h
+++ b/arch/powerpc/include/asm/mce.h
@@ -190,5 +190,8 @@ extern void save_mce_event(struct pt_regs *regs, long handled,
190 struct mce_error_info *mce_err, uint64_t addr); 190 struct mce_error_info *mce_err, uint64_t addr);
191extern int get_mce_event(struct machine_check_event *mce, bool release); 191extern int get_mce_event(struct machine_check_event *mce, bool release);
192extern void release_mce_event(void); 192extern void release_mce_event(void);
193extern void machine_check_queue_event(void);
194extern void machine_check_process_queued_event(void);
195extern void machine_check_print_event_info(struct machine_check_event *evt);
193 196
194#endif /* __ASM_PPC64_MCE_H__ */ 197#endif /* __ASM_PPC64_MCE_H__ */