diff options
| author | 2013-06-21 13:54:38 -0700 | |
|---|---|---|
| committer | 2013-06-21 16:51:13 -0700 | |
| commit | b842ecb44965722ecd67bed1ed9d900073e3313f (patch) | |
| tree | a8e06a429203de8b3862400e1ed2a38f692e41c7 | |
| parent | d2e13bf0bdc72e9d19d63921056b808d5ce8ef62 (diff) | |
| download | mcelog-b842ecb44965722ecd67bed1ed9d900073e3313f.tar.gz | |
Add Haswell client cpuids (0x3C, 0x45 and 0x46)
June 2013 edition of the Software Developers Manual provides the
three cpuid model numbers for Haswell client (a.k.a. 4th generation
Intel(R) Core(TM) processor family and Intel Xeon processor E3-1200v3
product family).
Add them so that we can decode without warning about unsupported model.
Note that as usual these client parts have no model specific decoding.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
| -rw-r--r-- | intel.c | 5 | ||||
| -rw-r--r-- | intel.h | 3 | ||||
| -rw-r--r-- | mcelog.c | 2 | ||||
| -rw-r--r-- | mcelog.h | 1 |
4 files changed, 9 insertions, 2 deletions
@@ -32,7 +32,8 @@ void intel_cpu_init(enum cputype cpu) { if (cpu == CPU_NEHALEM || cpu == CPU_XEON75XX || cpu == CPU_INTEL || cpu == CPU_SANDY_BRIDGE || cpu == CPU_SANDY_BRIDGE_EP || - cpu == CPU_IVY_BRIDGE || cpu == CPU_IVY_BRIDGE_EPEX) + cpu == CPU_IVY_BRIDGE || cpu == CPU_IVY_BRIDGE_EPEX || + cpu == CPU_HASWELL) memory_error_support = 1; } @@ -66,6 +67,8 @@ enum cputype select_intel_cputype(int family, int model) return CPU_IVY_BRIDGE; else if (model == 0x3e) return CPU_IVY_BRIDGE_EPEX; + else if (model == 0x3c || model == 0x45 || model == 0x46) + return CPU_HASWELL; if (model > 0x1a) { Eprintf("Family 6 Model %x CPU: only decoding architectural errors\n", model); @@ -17,5 +17,6 @@ extern int memory_error_support; case CPU_SANDY_BRIDGE_EP: \ case CPU_SANDY_BRIDGE: \ case CPU_IVY_BRIDGE: \ - case CPU_IVY_BRIDGE_EPEX + case CPU_IVY_BRIDGE_EPEX: \ + case CPU_HASWELL @@ -227,6 +227,7 @@ static char *cputype_name[] = { [CPU_SANDY_BRIDGE_EP] = "Sandy Bridge EP", /* Fill in better name */ [CPU_IVY_BRIDGE] = "Ivy Bridge", /* Fill in better name */ [CPU_IVY_BRIDGE_EPEX] = "Ivy Bridge EP/EX", /* Fill in better name */ + [CPU_HASWELL] = "Haswell", /* Fill in better name */ }; static struct config_choice cpu_choices[] = { @@ -262,6 +263,7 @@ static struct config_choice cpu_choices[] = { { "ivybridge", CPU_IVY_BRIDGE }, /* Fill in better name */ { "ivybridge-ep", CPU_IVY_BRIDGE_EPEX }, /* Fill in better name */ { "ivybridge-ex", CPU_IVY_BRIDGE_EPEX }, /* Fill in better name */ + { "haswell", CPU_HASWELL }, /* Fill in better name */ {} }; @@ -117,6 +117,7 @@ enum cputype { CPU_SANDY_BRIDGE_EP, CPU_IVY_BRIDGE, CPU_IVY_BRIDGE_EPEX, + CPU_HASWELL, }; enum option_ranges { |
