aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/edac
diff options
context:
space:
mode:
authorBorislav Petkov <borislav.petkov@amd.com>2011-09-30 10:34:44 -0400
committerBorislav Petkov <borislav.petkov@amd.com>2011-10-06 06:34:03 -0400
commit086be786ca10af7a9783ab06a9b5594c2c6facbf (patch)
tree7ef7af32e9d8ef812e6ec9ba450b7d04aa7a3416 /drivers/edac
parentbff7b812465a797bc563e9938fa11316fcd2ac0d (diff)
EDAC, MCE, AMD: Print valid addr when reporting an error
The MCi_STATUS bank has a AddrV bit which, when set, denotes that the corresponding MCi_ADDR MSR contains a valid address belonging to the MCE currently being reported. Dump it since it is definitely relevant information. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/mce_amd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index 5bfe6997d9ff..a6d25dac8a88 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -769,7 +769,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data)
769 if (amd_filter_mce(m)) 769 if (amd_filter_mce(m))
770 return NOTIFY_STOP; 770 return NOTIFY_STOP;
771 771
772 pr_emerg(HW_ERR "CPU:%d MC%d_STATUS[%s|%s|%s|%s|%s", 772 pr_emerg(HW_ERR "CPU:%d\tMC%d_STATUS[%s|%s|%s|%s|%s",
773 m->extcpu, m->bank, 773 m->extcpu, m->bank,
774 ((m->status & MCI_STATUS_OVER) ? "Over" : "-"), 774 ((m->status & MCI_STATUS_OVER) ? "Over" : "-"),
775 ((m->status & MCI_STATUS_UC) ? "UE" : "CE"), 775 ((m->status & MCI_STATUS_UC) ? "UE" : "CE"),
@@ -789,6 +789,8 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data)
789 789
790 pr_cont("]: 0x%016llx\n", m->status); 790 pr_cont("]: 0x%016llx\n", m->status);
791 791
792 if (m->status & MCI_STATUS_ADDRV)
793 pr_emerg(HW_ERR "\tMC%d_ADDR: 0x%016llx\n", m->bank, m->addr);
792 794
793 switch (m->bank) { 795 switch (m->bank) {
794 case 0: 796 case 0: