Blame SOURCES/0056-x86-rasdaemon-Add-support-to-log-Local-Machine-Check.patch

ac32bf
From fa6260eb1304c6c829af177ab4aa1937db36fab1 Mon Sep 17 00:00:00 2001
ac32bf
From: Ashok Raj <ashok.raj@intel.com>
ac32bf
Date: Fri, 5 Jun 2015 13:32:47 -0300
ac32bf
Subject: [PATCH 1/5] x86, rasdaemon: Add support to log Local Machine Check
ac32bf
 Exception (LMCE)
ac32bf
ac32bf
Local Machine Check Exception allows certain errors to be signaled to
ac32bf
only the affected logical processor. This change captures them for
ac32bf
rasdaemon.
ac32bf
ac32bf
log:Changes to rasdaemon to support new architectural changes to MCE
ac32bf
ac32bf
Changet to rasdaemon to support new architectural extentions in Intel
ac32bf
CPUs.
ac32bf
ac32bf
Signed-off-by: Ashok Raj <ashok.raj@intel.com>
ac32bf
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
ac32bf
---
ac32bf
 mce-intel.c       | 2 ++
ac32bf
 ras-mce-handler.h | 1 +
ac32bf
 2 files changed, 3 insertions(+)
ac32bf
ac32bf
diff --git a/mce-intel.c b/mce-intel.c
ac32bf
index 3684602..3503c6a 100644
ac32bf
--- a/mce-intel.c
ac32bf
+++ b/mce-intel.c
ac32bf
@@ -185,6 +185,8 @@ static void decode_mcg(struct mce_event *e)
ac32bf
 		mce_snprintf(e->mcgstatus_msg, "EIPV");
ac32bf
 	if (mcgstatus & MCG_STATUS_MCIP)
ac32bf
 		mce_snprintf(e->mcgstatus_msg, "MCIP");
ac32bf
+	if (mcgstatus & MCG_STATUS_LMCE)
ac32bf
+		mce_snprintf(e->mcgstatus_msg, "LMCE");
ac32bf
 }
ac32bf
 
ac32bf
 static void bank_name(struct mce_event *e)
ac32bf
diff --git a/ras-mce-handler.h b/ras-mce-handler.h
ac32bf
index 28aad00..13b8f52 100644
ac32bf
--- a/ras-mce-handler.h
ac32bf
+++ b/ras-mce-handler.h
ac32bf
@@ -139,6 +139,7 @@ void tulsa_decode_model(struct mce_event *e);
ac32bf
 #define MCG_STATUS_RIPV  (1ULL<<0)   /* restart ip valid */
ac32bf
 #define MCG_STATUS_EIPV  (1ULL<<1)   /* eip points to correct instruction */
ac32bf
 #define MCG_STATUS_MCIP  (1ULL<<2)   /* machine check in progress */
ac32bf
+#define MCG_STATUS_LMCE  (1ULL<<3)   /* local machine check signaled */
ac32bf
 
ac32bf
 /* Those functions are defined on per-cpu vendor C files */
ac32bf
 int parse_intel_event(struct ras_events *ras, struct mce_event *e);
ac32bf
-- 
ac32bf
1.8.3.1
ac32bf