From: Yazen Ghannam <[email protected]>

The MCA_SYND and MCA_IPID registers contain valuable information and
should be included in MCE output. The MCA_SYND register contains
syndrome and other error information, and the MCA_IPID register will
uniquely identify the MCA bank's type without having to rely on system
software.

Signed-off-by: Yazen Ghannam <[email protected]>
Cc: Aravind Gopalakrishnan <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: linux-edac <[email protected]>
Cc: x86-ml <[email protected]>
Link: 
http://lkml.kernel.org/r/[email protected]
Signed-off-by: Borislav Petkov <[email protected]>
---
 arch/x86/kernel/cpu/mcheck/mce.c | 7 +++++++
 drivers/edac/mce_amd.c           | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 84cb9b5859e2..ae1f47772d4f 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -292,6 +292,13 @@ static void print_mce(struct mce *m)
        if (m->misc)
                pr_cont("MISC %llx ", m->misc);
 
+       if (mce_flags.smca) {
+               if (m->synd)
+                       pr_cont("SYND %llx ", m->synd);
+               if (m->ipid)
+                       pr_cont("IPID %llx ", m->ipid);
+       }
+
        pr_cont("\n");
        /*
         * Note this output is parsed by external tools and old fields
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c
index 99b3bf3f4182..e8855a4f92d9 100644
--- a/drivers/edac/mce_amd.c
+++ b/drivers/edac/mce_amd.c
@@ -984,6 +984,8 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long 
val, void *data)
                if (m->status & MCI_STATUS_SYNDV)
                        pr_cont(", Syndrome: 0x%016llx", m->synd);
 
+               pr_cont(", IPID: 0x%016llx", m->ipid);
+
                pr_cont("\n");
 
                decode_smca_errors(m);
-- 
2.10.0

Reply via email to