aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2019-12-10 10:24:29 -0800
committerAndi Kleen <ak@linux.intel.com>2019-12-13 15:06:45 -0800
commit3f4b21b6a29d39160e2e597c4d61b770393c6a99 (patch)
treece5d15d8b2440c5f272ad705dddf4860a0aefc1e
parentee90ff20ce6a4d5e016aa249ce8b37f359f9fda4 (diff)
downloadmcelog-3f4b21b6a29d39160e2e597c4d61b770393c6a99.tar.gz
mcelog: Add Cometlake client model numbers.v167
Desktop (0xa5) and mobile (0xa6). Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
-rw-r--r--intel.c4
-rw-r--r--intel.h3
-rw-r--r--mcelog.c4
-rw-r--r--mcelog.h1
4 files changed, 9 insertions, 3 deletions
diff --git a/intel.c b/intel.c
index 37435ba..ea9c399 100644
--- a/intel.c
+++ b/intel.c
@@ -41,7 +41,7 @@ void intel_cpu_init(enum cputype cpu)
cpu == CPU_SKYLAKE || cpu == CPU_SKYLAKE_XEON ||
cpu == CPU_KABYLAKE || cpu == CPU_DENVERTON || cpu == CPU_ICELAKE ||
cpu == CPU_ICELAKE_XEON || cpu == CPU_ICELAKE_DE ||
- cpu == CPU_TREMONT_D)
+ cpu == CPU_TREMONT_D || cpu == CPU_COMETLAKE)
memory_error_support = 1;
}
@@ -110,6 +110,8 @@ enum cputype select_intel_cputype(int family, int model)
return CPU_ICELAKE_DE;
else if (model == 0x86)
return CPU_TREMONT_D;
+ else if (model == 0xa5 || model == 0xa6)
+ return CPU_COMETLAKE;
if (model > 0x1a) {
Eprintf("Family 6 Model %u CPU: only decoding architectural errors\n",
model);
diff --git a/intel.h b/intel.h
index c857904..167c17a 100644
--- a/intel.h
+++ b/intel.h
@@ -32,5 +32,6 @@ extern int memory_error_support;
case CPU_DENVERTON: \
case CPU_ICELAKE_XEON: \
case CPU_ICELAKE_DE: \
- case CPU_TREMONT_D
+ case CPU_TREMONT_D: \
+ case CPU_COMETLAKE
diff --git a/mcelog.c b/mcelog.c
index 1c1cbbb..c615325 100644
--- a/mcelog.c
+++ b/mcelog.c
@@ -248,6 +248,7 @@ static char *cputype_name[] = {
[CPU_ICELAKE_XEON] = "Icelake server",
[CPU_ICELAKE_DE] = "Icelake server D Family",
[CPU_TREMONT_D] = "Tremont microserver",
+ [CPU_COMETLAKE] = "Cometlake",
};
static struct config_choice cpu_choices[] = {
@@ -304,6 +305,7 @@ static struct config_choice cpu_choices[] = {
{ "icelake_server", CPU_ICELAKE_XEON },
{ "icelake-d", CPU_ICELAKE_DE },
{ "snowridge", CPU_TREMONT_D },
+ { "cometlake", CPU_COMETLAKE },
{ NULL }
};
@@ -477,7 +479,7 @@ static void dump_mce(struct mce *m, unsigned recordlen)
cputype != CPU_SKYLAKE && cputype != CPU_SKYLAKE_XEON &&
cputype != CPU_KABYLAKE && cputype != CPU_DENVERTON &&
cputype != CPU_ICELAKE_XEON && cputype != CPU_ICELAKE_DE &&
- cputype != CPU_TREMONT_D)
+ cputype != CPU_TREMONT_D && cputype != CPU_COMETLAKE)
resolveaddr(m->addr);
}
diff --git a/mcelog.h b/mcelog.h
index e448763..e50ca15 100644
--- a/mcelog.h
+++ b/mcelog.h
@@ -143,6 +143,7 @@ enum cputype {
CPU_ICELAKE_XEON,
CPU_ICELAKE_DE,
CPU_TREMONT_D,
+ CPU_COMETLAKE,
};
enum option_ranges {