[PATCH 1/2] powerpc/book3s: Display more info for MCE error console log.

Mahesh J Salgaonkar mahesh at linux.vnet.ibm.com
Wed Mar 29 00:45:04 AEDT 2017


From: Mahesh Salgaonkar <mahesh at linux.vnet.ibm.com>

For D-side errors we print data load/store address as 'Effective address'
that caused MC. In addition to print NIP, print kernel function name as well.

After this patch the MCE console log would look like:

[  291.444281] Severe Machine check interrupt [Recovered]
[  291.444477]   NIP [d00000001bc70194]: init_module+0x194/0x2b0 [bork_kernel]
[  291.444707]   Initiator: CPU
[  291.444761]   Error type: SLB [Parity]
[  291.444793]     Effective address: d000000026de0000

Signed-off-by: Mahesh Salgaonkar <mahesh at linux.vnet.ibm.com>
---
 arch/powerpc/kernel/mce.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/mce.c b/arch/powerpc/kernel/mce.c
index 399aeaf..e82d4ee 100644
--- a/arch/powerpc/kernel/mce.c
+++ b/arch/powerpc/kernel/mce.c
@@ -311,7 +311,8 @@ void machine_check_print_event_info(struct machine_check_event *evt)
 	printk("%s%s Machine check interrupt [%s]\n", level, sevstr,
 	       evt->disposition == MCE_DISPOSITION_RECOVERED ?
 	       "Recovered" : "Not recovered");
-	printk("%s  NIP: %016llx\n", level, evt->srr0);
+	printk("%s  NIP [%016llx]: %pS\n", level, evt->srr0,
+							(void *)evt->srr0);
 	printk("%s  Initiator: %s\n", level,
 	       evt->initiator == MCE_INITIATOR_CPU ? "CPU" : "Unknown");
 	switch (evt->error_type) {



More information about the Linuxppc-dev mailing list