powerpc/64s/pseries: machine check convert to use common event code
authorNicholas Piggin <npiggin@gmail.com>
Fri, 2 Aug 2019 10:56:34 +0000 (20:56 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 30 Aug 2019 00:32:35 +0000 (10:32 +1000)
commit9ca766f9891d23743b4e1a7b1cafdc63723cd6a7
treedc428e8bdc21a817a32aa10c21ac4e9289d8e0f4
parent7290f3b3d3e66b54720f23079ffc60e0b7bbb0cc
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
arch/powerpc/include/asm/mce.h
arch/powerpc/kernel/mce.c
arch/powerpc/platforms/pseries/ras.c