File add-f11h-support.patch of Package mcelog.13098

Add F11h decoding support

Signed-off-by: Borislav Petkov <bp@suse.de>
Index: mcelog-1.60/amd.c
===================================================================
--- mcelog-1.60.orig/amd.c	2018-09-24 15:15:05.902689347 +0200
+++ mcelog-1.60/amd.c	2018-09-24 15:15:10.454960116 +0200
@@ -155,6 +155,8 @@ enum cputype select_amd_cputype(u32 fami
 		return CPU_K8;
 	case 0x10:
 		return CPU_F10H;
+	case 0x11:
+		return CPU_F11H;
 	default:
 		break;
 	}
@@ -367,6 +369,16 @@ static bool f10h_mc0_mce(u16 ec, u8 xec)
 	return f12h_mc0_mce(ec, xec);
 }
 
+static bool k8_mc0_mce(u16 ec, u8 xec)
+{
+	if (BUS_ERROR(ec)) {
+		Wprintf("during system linefill.\n");
+		return true;
+	}
+
+	return f10h_mc0_mce(ec, xec);
+}
+
 static void decode_mc0_mce(struct amd_decoder_ops *ops, struct mce *m)
 {
 	u16 ec = EC(m->status);
@@ -630,6 +642,12 @@ struct amd_decoder_ops fam_ops[] = {
 		.mc1_mce = k8_mc1_mce,
 		.mc2_mce = k8_mc2_mce,
 	},
+	[AMD_F11H] = {
+		.cpu	 = AMD_F11H,
+		.mc0_mce = k8_mc0_mce,
+		.mc1_mce = k8_mc1_mce,
+		.mc2_mce = k8_mc2_mce,
+	},
 };
 
 static void __decode_amd_mc(enum cputype cpu, struct mce *mce)
@@ -640,6 +658,9 @@ static void __decode_amd_mc(enum cputype
 	case CPU_F10H:
 		ops = &fam_ops[AMD_F10H];
 		break;
+	case CPU_F11H:
+		ops = &fam_ops[AMD_F11H];
+		break;
 	default:
 		Eprintf("Huh? What family is it: 0x%x?!\n", cpu);
 		return;
Index: mcelog-1.60/amd.h
===================================================================
--- mcelog-1.60.orig/amd.h	2018-09-24 15:15:05.902689347 +0200
+++ mcelog-1.60/amd.h	2018-09-24 15:15:10.454960116 +0200
@@ -93,4 +93,5 @@ enum rrrr_ids {
 
 #define CASE_AMD_CPUS \
 	case CPU_K8:  \
-	case CPU_F10H
+	case CPU_F10H: \
+	case CPU_F11H
Index: mcelog-1.60/mcelog.h
===================================================================
--- mcelog-1.60.orig/mcelog.h	2018-09-24 15:15:05.902689347 +0200
+++ mcelog-1.60/mcelog.h	2018-09-24 15:15:10.454960116 +0200
@@ -118,6 +118,7 @@ enum cputype {
 	CPU_CORE2, /* 65nm and 45nm */
 	CPU_K8,
 	CPU_F10H,
+	CPU_F11H,
 	CPU_P4,
 	CPU_NEHALEM,
 	CPU_DUNNINGTON,
Index: mcelog-1.60/mcelog.c
===================================================================
--- mcelog-1.60.orig/mcelog.c	2018-09-24 15:15:05.906689585 +0200
+++ mcelog-1.60/mcelog.c	2018-09-24 15:15:10.458960355 +0200
@@ -228,6 +228,7 @@ static char *cputype_name[] = {
 	[CPU_CORE2] = "Intel Core", /* 65nm and 45nm */
 	[CPU_K8] = "AMD K8 and derivates",
 	[CPU_F10H] = "AMD Greyhound",
+	[CPU_F11H] = "AMD Griffin",
 	[CPU_P4] = "Intel P4",
 	[CPU_NEHALEM] = "Intel Xeon 5500 series / Core i3/5/7 (\"Nehalem/Westmere\")",
 	[CPU_DUNNINGTON] = "Intel Xeon 7400 series",
@@ -258,6 +259,7 @@ static struct config_choice cpu_choices[
 	{ "core2", CPU_CORE2 },
 	{ "k8", CPU_K8 },
 	{ "f10h", CPU_F10H },
+	{ "f11h", CPU_F11H },
 	{ "p4", CPU_P4 },
 	{ "dunnington", CPU_DUNNINGTON },
 	{ "xeon74xx", CPU_DUNNINGTON },
openSUSE Build Service is sponsored by