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