|
@@ -1,96 +0,0 @@
|
|
|
-From 11bfbb446116c8313728157148a6bb15625031e8 Mon Sep 17 00:00:00 2001
|
|
|
-From: Tony Luck <tony.luck@intel.com>
|
|
|
-Date: Tue, 30 Aug 2016 09:37:02 -0700
|
|
|
-Subject: [PATCH] Add Kabylake client support
|
|
|
-
|
|
|
-CPU models 0x8E and 0x9E denote kabylake client processor
|
|
|
-
|
|
|
-Upstream-Status: Backport [A little modification on context]
|
|
|
-https://github.com/andikleen/mcelog/commit/11bfbb446116c8313728157148a6bb15625031e8
|
|
|
-
|
|
|
-Signed-off-by: Tony Luck <tony.luck@intel.com>
|
|
|
-Signed-off-by: Andi Kleen <ak@linux.intel.com>
|
|
|
-Signed-off-by: Quanyang Wang <quanyang.wang@windriver.com>
|
|
|
----
|
|
|
- intel.c | 5 ++++-
|
|
|
- intel.h | 3 ++-
|
|
|
- mcelog.c | 4 +++-
|
|
|
- mcelog.h | 1 +
|
|
|
- 4 files changed, 10 insertions(+), 3 deletions(-)
|
|
|
-
|
|
|
-diff --git a/intel.c b/intel.c
|
|
|
-index f4ef9f6..33a99a8 100644
|
|
|
---- a/intel.c
|
|
|
-+++ b/intel.c
|
|
|
-@@ -35,7 +35,8 @@ void intel_cpu_init(enum cputype cpu)
|
|
|
- cpu == CPU_IVY_BRIDGE || cpu == CPU_IVY_BRIDGE_EPEX ||
|
|
|
- cpu == CPU_HASWELL || cpu == CPU_HASWELL_EPEX || cpu == CPU_BROADWELL ||
|
|
|
- cpu == CPU_BROADWELL_DE || cpu == CPU_BROADWELL_EPEX ||
|
|
|
-- cpu == CPU_KNIGHTS_LANDING || cpu == CPU_SKYLAKE || cpu == CPU_SKYLAKE_XEON)
|
|
|
-+ cpu == CPU_KNIGHTS_LANDING || cpu == CPU_SKYLAKE || cpu == CPU_SKYLAKE_XEON ||
|
|
|
-+ cpu == CPU_KABYLAKE)
|
|
|
- memory_error_support = 1;
|
|
|
- }
|
|
|
-
|
|
|
-@@ -90,6 +91,8 @@ enum cputype select_intel_cputype(int family, int model)
|
|
|
- return CPU_SKYLAKE;
|
|
|
- else if (model == 0x55)
|
|
|
- return CPU_SKYLAKE_XEON;
|
|
|
-+ else if (model == 0x8E || model == 0x9E)
|
|
|
-+ return CPU_KABYLAKE;
|
|
|
- if (model > 0x1a) {
|
|
|
- Eprintf("Family 6 Model %u CPU: only decoding architectural errors\n",
|
|
|
- model);
|
|
|
-diff --git a/intel.h b/intel.h
|
|
|
-index d22895b..c231925 100644
|
|
|
---- a/intel.h
|
|
|
-+++ b/intel.h
|
|
|
-@@ -26,5 +26,6 @@ extern int memory_error_support;
|
|
|
- case CPU_ATOM: \
|
|
|
- case CPU_KNIGHTS_LANDING: \
|
|
|
- case CPU_SKYLAKE: \
|
|
|
-- case CPU_SKYLAKE_XEON
|
|
|
-+ case CPU_SKYLAKE_XEON: \
|
|
|
-+ case CPU_KABYLAKE
|
|
|
-
|
|
|
-diff --git a/mcelog.c b/mcelog.c
|
|
|
-index 1d79fa1..7214a0d 100644
|
|
|
---- a/mcelog.c
|
|
|
-+++ b/mcelog.c
|
|
|
-@@ -238,6 +238,7 @@ static char *cputype_name[] = {
|
|
|
- [CPU_ATOM] = "ATOM",
|
|
|
- [CPU_SKYLAKE] = "Skylake",
|
|
|
- [CPU_SKYLAKE_XEON] = "Skylake server",
|
|
|
-+ [CPU_KABYLAKE] = "Kabylake",
|
|
|
- };
|
|
|
-
|
|
|
- static struct config_choice cpu_choices[] = {
|
|
|
-@@ -287,6 +288,7 @@ static struct config_choice cpu_choices[] = {
|
|
|
- { "atom", CPU_ATOM },
|
|
|
- { "skylake", CPU_SKYLAKE },
|
|
|
- { "skylake_server", CPU_SKYLAKE_XEON },
|
|
|
-+ { "kabylake", CPU_KABYLAKE },
|
|
|
- { NULL }
|
|
|
- };
|
|
|
-
|
|
|
-@@ -451,7 +453,7 @@ static void dump_mce(struct mce *m, unsigned recordlen)
|
|
|
- cputype != CPU_HASWELL_EPEX && cputype != CPU_BROADWELL &&
|
|
|
- cputype != CPU_BROADWELL_DE && cputype != CPU_BROADWELL_EPEX &&
|
|
|
- cputype != CPU_KNIGHTS_LANDING && cputype != CPU_SKYLAKE &&
|
|
|
-- cputype != CPU_SKYLAKE_XEON)
|
|
|
-+ cputype != CPU_SKYLAKE_XEON && cputype != CPU_KABYLAKE)
|
|
|
- resolveaddr(m->addr);
|
|
|
- if (!ascii_mode && ismemerr && (m->status & MCI_STATUS_ADDRV)) {
|
|
|
- diskdb_resolve_addr(m->addr);
|
|
|
-diff --git a/mcelog.h b/mcelog.h
|
|
|
-index abc8bc9..254b3a0 100644
|
|
|
---- a/mcelog.h
|
|
|
-+++ b/mcelog.h
|
|
|
-@@ -130,6 +130,7 @@ enum cputype {
|
|
|
- CPU_ATOM,
|
|
|
- CPU_SKYLAKE,
|
|
|
- CPU_SKYLAKE_XEON,
|
|
|
-+ CPU_KABYLAKE,
|
|
|
- };
|
|
|
-
|
|
|
- enum option_ranges {
|