From: Mahesh Salgaonkar <mah...@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 <mah...@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) {