Add F11h decoding support Signed-off-by: Borislav Petkov Index: mcelog-1.0.1/amd.c =================================================================== --- mcelog-1.0.1.orig/amd.c +++ mcelog-1.0.1/amd.c @@ -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.0.1/amd.h =================================================================== --- mcelog-1.0.1.orig/amd.h +++ mcelog-1.0.1/amd.h @@ -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.0.1/mcelog.h =================================================================== --- mcelog-1.0.1.orig/mcelog.h +++ mcelog-1.0.1/mcelog.h @@ -108,6 +108,7 @@ enum cputype { CPU_CORE2, /* 65nm and 45nm */ CPU_K8, CPU_F10H, + CPU_F11H, CPU_P4, CPU_NEHALEM, CPU_DUNNINGTON, Index: mcelog-1.0.1/mcelog.c =================================================================== --- mcelog-1.0.1.orig/mcelog.c +++ mcelog-1.0.1/mcelog.c @@ -223,6 +223,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", @@ -242,6 +243,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 },