summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/mce.h
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2019-08-02 12:56:34 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2019-08-30 02:32:35 +0200
commit9ca766f9891d23743b4e1a7b1cafdc63723cd6a7 (patch)
treedc428e8bdc21a817a32aa10c21ac4e9289d8e0f4 /arch/powerpc/include/asm/mce.h
parentpowerpc/64s/powernv: machine check dump SLB contents (diff)
downloadlinux-9ca766f9891d23743b4e1a7b1cafdc63723cd6a7.tar.xz
linux-9ca766f9891d23743b4e1a7b1cafdc63723cd6a7.zip
powerpc/64s/pseries: machine check convert to use common event code
The common machine_check_event data structures and queues are mostly platform independent, with powernv decoding SRR1/DSISR/etc., into machine_check_event objects. This patch converts pseries to use this infrastructure by decoding fwnmi/rtas data into machine_check_event objects. This allows queueing to be used by a subsequent change to delay the virtual mode handling of machine checks that occur in kernel space where it is unsafe to switch immediately to virtual mode, similarly to powernv. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> [mpe: Fix implicit fallthrough warnings in mce_handle_error()] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190802105709.27696-10-npiggin@gmail.com
Diffstat (limited to 'arch/powerpc/include/asm/mce.h')
-rw-r--r--arch/powerpc/include/asm/mce.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/mce.h b/arch/powerpc/include/asm/mce.h
index 19a33707d5ef..6a6ddaabdb34 100644
--- a/arch/powerpc/include/asm/mce.h
+++ b/arch/powerpc/include/asm/mce.h
@@ -30,6 +30,10 @@ enum MCE_Disposition {
enum MCE_Initiator {
MCE_INITIATOR_UNKNOWN = 0,
MCE_INITIATOR_CPU = 1,
+ MCE_INITIATOR_PCI = 2,
+ MCE_INITIATOR_ISA = 3,
+ MCE_INITIATOR_MEMORY= 4,
+ MCE_INITIATOR_POWERMGM = 5,
};
enum MCE_ErrorType {
@@ -41,6 +45,8 @@ enum MCE_ErrorType {
MCE_ERROR_TYPE_USER = 5,
MCE_ERROR_TYPE_RA = 6,
MCE_ERROR_TYPE_LINK = 7,
+ MCE_ERROR_TYPE_DCACHE = 8,
+ MCE_ERROR_TYPE_ICACHE = 9,
};
enum MCE_ErrorClass {