diff options
author | Len Brown <len.brown@intel.com> | 2016-06-16 23:22:37 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2016-12-01 01:33:19 -0500 |
commit | 869ce69e1e8ae7e6fa4a1a90887e5f94eac653eb (patch) | |
tree | cb36bfcf6b78447b35298b1512e490fcefc5d68b /tools/power/x86 | |
parent | 0f64490978ef9ed4debe33bf0dbf25e80659f7f7 (diff) |
tools/power turbostat: use intel-family.h model strings
All except for model 1F, a Nehalem, which is currently incorrectly
indentified as a Westmere in that new header.
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'tools/power/x86')
-rw-r--r-- | tools/power/x86/turbostat/Makefile | 1 | ||||
-rw-r--r-- | tools/power/x86/turbostat/turbostat.c | 249 |
2 files changed, 126 insertions, 124 deletions
diff --git a/tools/power/x86/turbostat/Makefile b/tools/power/x86/turbostat/Makefile index 8561e7ddca59..8792ad8dbf83 100644 --- a/tools/power/x86/turbostat/Makefile +++ b/tools/power/x86/turbostat/Makefile | |||
@@ -10,6 +10,7 @@ endif | |||
10 | turbostat : turbostat.c | 10 | turbostat : turbostat.c |
11 | CFLAGS += -Wall | 11 | CFLAGS += -Wall |
12 | CFLAGS += -DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"' | 12 | CFLAGS += -DMSRHEADER='"../../../../arch/x86/include/asm/msr-index.h"' |
13 | CFLAGS += -DINTEL_FAMILY_HEADER='"../../../../arch/x86/include/asm/intel-family.h"' | ||
13 | 14 | ||
14 | %: %.c | 15 | %: %.c |
15 | @mkdir -p $(BUILD_OUTPUT) | 16 | @mkdir -p $(BUILD_OUTPUT) |
diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c index 70a6699c528c..2056c148c684 100644 --- a/tools/power/x86/turbostat/turbostat.c +++ b/tools/power/x86/turbostat/turbostat.c | |||
@@ -21,6 +21,7 @@ | |||
21 | 21 | ||
22 | #define _GNU_SOURCE | 22 | #define _GNU_SOURCE |
23 | #include MSRHEADER | 23 | #include MSRHEADER |
24 | #include INTEL_FAMILY_HEADER | ||
24 | #include <stdarg.h> | 25 | #include <stdarg.h> |
25 | #include <stdio.h> | 26 | #include <stdio.h> |
26 | #include <err.h> | 27 | #include <err.h> |
@@ -2163,48 +2164,48 @@ int probe_nhm_msrs(unsigned int family, unsigned int model) | |||
2163 | bclk = discover_bclk(family, model); | 2164 | bclk = discover_bclk(family, model); |
2164 | 2165 | ||
2165 | switch (model) { | 2166 | switch (model) { |
2166 | case 0x1A: /* Core i7, Xeon 5500 series - Bloomfield, Gainstown NHM-EP */ | 2167 | case INTEL_FAM6_NEHALEM_EP: /* Core i7, Xeon 5500 series - Bloomfield, Gainstown NHM-EP */ |
2167 | case 0x1E: /* Core i7 and i5 Processor - Clarksfield, Lynnfield, Jasper Forest */ | 2168 | case INTEL_FAM6_NEHALEM: /* Core i7 and i5 Processor - Clarksfield, Lynnfield, Jasper Forest */ |
2168 | case 0x1F: /* Core i7 and i5 Processor - Nehalem */ | 2169 | case 0x1F: /* Core i7 and i5 Processor - Nehalem */ |
2169 | case 0x25: /* Westmere Client - Clarkdale, Arrandale */ | 2170 | case INTEL_FAM6_WESTMERE: /* Westmere Client - Clarkdale, Arrandale */ |
2170 | case 0x2C: /* Westmere EP - Gulftown */ | 2171 | case INTEL_FAM6_WESTMERE_EP: /* Westmere EP - Gulftown */ |
2171 | case 0x2E: /* Nehalem-EX Xeon - Beckton */ | 2172 | case INTEL_FAM6_NEHALEM_EX: /* Nehalem-EX Xeon - Beckton */ |
2172 | case 0x2F: /* Westmere-EX Xeon - Eagleton */ | 2173 | case INTEL_FAM6_WESTMERE_EX: /* Westmere-EX Xeon - Eagleton */ |
2173 | pkg_cstate_limits = nhm_pkg_cstate_limits; | 2174 | pkg_cstate_limits = nhm_pkg_cstate_limits; |
2174 | break; | 2175 | break; |
2175 | case 0x2A: /* SNB */ | 2176 | case INTEL_FAM6_SANDYBRIDGE: /* SNB */ |
2176 | case 0x2D: /* SNB Xeon */ | 2177 | case INTEL_FAM6_SANDYBRIDGE_X: /* SNB Xeon */ |
2177 | case 0x3A: /* IVB */ | 2178 | case INTEL_FAM6_IVYBRIDGE: /* IVB */ |
2178 | case 0x3E: /* IVB Xeon */ | 2179 | case INTEL_FAM6_IVYBRIDGE_X: /* IVB Xeon */ |
2179 | pkg_cstate_limits = snb_pkg_cstate_limits; | 2180 | pkg_cstate_limits = snb_pkg_cstate_limits; |
2180 | break; | 2181 | break; |
2181 | case 0x3C: /* HSW */ | 2182 | case INTEL_FAM6_HASWELL_CORE: /* HSW */ |
2182 | case 0x3F: /* HSX */ | 2183 | case INTEL_FAM6_HASWELL_X: /* HSX */ |
2183 | case 0x45: /* HSW */ | 2184 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2184 | case 0x46: /* HSW */ | 2185 | case INTEL_FAM6_HASWELL_GT3E: /* HSW */ |
2185 | case 0x3D: /* BDW */ | 2186 | case INTEL_FAM6_BROADWELL_CORE: /* BDW */ |
2186 | case 0x47: /* BDW */ | 2187 | case INTEL_FAM6_BROADWELL_GT3E: /* BDW */ |
2187 | case 0x4F: /* BDX */ | 2188 | case INTEL_FAM6_BROADWELL_X: /* BDX */ |
2188 | case 0x56: /* BDX-DE */ | 2189 | case INTEL_FAM6_BROADWELL_XEON_D: /* BDX-DE */ |
2189 | case 0x4E: /* SKL */ | 2190 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2190 | case 0x5E: /* SKL */ | 2191 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2191 | case 0x8E: /* KBL */ | 2192 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2192 | case 0x9E: /* KBL */ | 2193 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2193 | case 0x55: /* SKX */ | 2194 | case INTEL_FAM6_SKYLAKE_X: /* SKX */ |
2194 | pkg_cstate_limits = hsw_pkg_cstate_limits; | 2195 | pkg_cstate_limits = hsw_pkg_cstate_limits; |
2195 | break; | 2196 | break; |
2196 | case 0x37: /* BYT */ | 2197 | case INTEL_FAM6_ATOM_SILVERMONT1: /* BYT */ |
2197 | case 0x4D: /* AVN */ | 2198 | case INTEL_FAM6_ATOM_SILVERMONT2: /* AVN */ |
2198 | pkg_cstate_limits = slv_pkg_cstate_limits; | 2199 | pkg_cstate_limits = slv_pkg_cstate_limits; |
2199 | break; | 2200 | break; |
2200 | case 0x4C: /* AMT */ | 2201 | case INTEL_FAM6_ATOM_AIRMONT: /* AMT */ |
2201 | pkg_cstate_limits = amt_pkg_cstate_limits; | 2202 | pkg_cstate_limits = amt_pkg_cstate_limits; |
2202 | break; | 2203 | break; |
2203 | case 0x57: /* PHI */ | 2204 | case INTEL_FAM6_XEON_PHI_KNL: /* PHI */ |
2204 | pkg_cstate_limits = phi_pkg_cstate_limits; | 2205 | pkg_cstate_limits = phi_pkg_cstate_limits; |
2205 | break; | 2206 | break; |
2206 | case 0x5C: /* BXT */ | 2207 | case INTEL_FAM6_ATOM_GOLDMONT: /* BXT */ |
2207 | case 0x5F: /* DNV */ | 2208 | case INTEL_FAM6_ATOM_DENVERTON: /* DNV */ |
2208 | pkg_cstate_limits = bxt_pkg_cstate_limits; | 2209 | pkg_cstate_limits = bxt_pkg_cstate_limits; |
2209 | break; | 2210 | break; |
2210 | default: | 2211 | default: |
@@ -2224,9 +2225,9 @@ int has_nhm_turbo_ratio_limit(unsigned int family, unsigned int model) | |||
2224 | { | 2225 | { |
2225 | switch (model) { | 2226 | switch (model) { |
2226 | /* Nehalem compatible, but do not include turbo-ratio limit support */ | 2227 | /* Nehalem compatible, but do not include turbo-ratio limit support */ |
2227 | case 0x2E: /* Nehalem-EX Xeon - Beckton */ | 2228 | case INTEL_FAM6_NEHALEM_EX: /* Nehalem-EX Xeon - Beckton */ |
2228 | case 0x2F: /* Westmere-EX Xeon - Eagleton */ | 2229 | case INTEL_FAM6_WESTMERE_EX: /* Westmere-EX Xeon - Eagleton */ |
2229 | case 0x57: /* PHI - Knights Landing (different MSR definition) */ | 2230 | case INTEL_FAM6_XEON_PHI_KNL: /* PHI - Knights Landing (different MSR definition) */ |
2230 | return 0; | 2231 | return 0; |
2231 | default: | 2232 | default: |
2232 | return 1; | 2233 | return 1; |
@@ -2241,8 +2242,8 @@ int has_ivt_turbo_ratio_limit(unsigned int family, unsigned int model) | |||
2241 | return 0; | 2242 | return 0; |
2242 | 2243 | ||
2243 | switch (model) { | 2244 | switch (model) { |
2244 | case 0x3E: /* IVB Xeon */ | 2245 | case INTEL_FAM6_IVYBRIDGE_X: /* IVB Xeon */ |
2245 | case 0x3F: /* HSW Xeon */ | 2246 | case INTEL_FAM6_HASWELL_X: /* HSW Xeon */ |
2246 | return 1; | 2247 | return 1; |
2247 | default: | 2248 | default: |
2248 | return 0; | 2249 | return 0; |
@@ -2257,7 +2258,7 @@ int has_hsw_turbo_ratio_limit(unsigned int family, unsigned int model) | |||
2257 | return 0; | 2258 | return 0; |
2258 | 2259 | ||
2259 | switch (model) { | 2260 | switch (model) { |
2260 | case 0x3F: /* HSW Xeon */ | 2261 | case INTEL_FAM6_HASWELL_X: /* HSW Xeon */ |
2261 | return 1; | 2262 | return 1; |
2262 | default: | 2263 | default: |
2263 | return 0; | 2264 | return 0; |
@@ -2273,7 +2274,7 @@ int has_knl_turbo_ratio_limit(unsigned int family, unsigned int model) | |||
2273 | return 0; | 2274 | return 0; |
2274 | 2275 | ||
2275 | switch (model) { | 2276 | switch (model) { |
2276 | case 0x57: /* Knights Landing */ | 2277 | case INTEL_FAM6_XEON_PHI_KNL: /* Knights Landing */ |
2277 | return 1; | 2278 | return 1; |
2278 | default: | 2279 | default: |
2279 | return 0; | 2280 | return 0; |
@@ -2288,22 +2289,22 @@ int has_config_tdp(unsigned int family, unsigned int model) | |||
2288 | return 0; | 2289 | return 0; |
2289 | 2290 | ||
2290 | switch (model) { | 2291 | switch (model) { |
2291 | case 0x3A: /* IVB */ | 2292 | case INTEL_FAM6_IVYBRIDGE: /* IVB */ |
2292 | case 0x3C: /* HSW */ | 2293 | case INTEL_FAM6_HASWELL_CORE: /* HSW */ |
2293 | case 0x3F: /* HSX */ | 2294 | case INTEL_FAM6_HASWELL_X: /* HSX */ |
2294 | case 0x45: /* HSW */ | 2295 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2295 | case 0x46: /* HSW */ | 2296 | case INTEL_FAM6_HASWELL_GT3E: /* HSW */ |
2296 | case 0x3D: /* BDW */ | 2297 | case INTEL_FAM6_BROADWELL_CORE: /* BDW */ |
2297 | case 0x47: /* BDW */ | 2298 | case INTEL_FAM6_BROADWELL_GT3E: /* BDW */ |
2298 | case 0x4F: /* BDX */ | 2299 | case INTEL_FAM6_BROADWELL_X: /* BDX */ |
2299 | case 0x56: /* BDX-DE */ | 2300 | case INTEL_FAM6_BROADWELL_XEON_D: /* BDX-DE */ |
2300 | case 0x4E: /* SKL */ | 2301 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2301 | case 0x5E: /* SKL */ | 2302 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2302 | case 0x8E: /* KBL */ | 2303 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2303 | case 0x9E: /* KBL */ | 2304 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2304 | case 0x55: /* SKX */ | 2305 | case INTEL_FAM6_SKYLAKE_X: /* SKX */ |
2305 | 2306 | ||
2306 | case 0x57: /* Knights Landing */ | 2307 | case INTEL_FAM6_XEON_PHI_KNL: /* Knights Landing */ |
2307 | return 1; | 2308 | return 1; |
2308 | default: | 2309 | default: |
2309 | return 0; | 2310 | return 0; |
@@ -2583,8 +2584,8 @@ double get_tdp(unsigned int model) | |||
2583 | return ((msr >> 0) & RAPL_POWER_GRANULARITY) * rapl_power_units; | 2584 | return ((msr >> 0) & RAPL_POWER_GRANULARITY) * rapl_power_units; |
2584 | 2585 | ||
2585 | switch (model) { | 2586 | switch (model) { |
2586 | case 0x37: | 2587 | case INTEL_FAM6_ATOM_SILVERMONT1: |
2587 | case 0x4D: | 2588 | case INTEL_FAM6_ATOM_SILVERMONT2: |
2588 | return 30.0; | 2589 | return 30.0; |
2589 | default: | 2590 | default: |
2590 | return 135.0; | 2591 | return 135.0; |
@@ -2601,10 +2602,10 @@ rapl_dram_energy_units_probe(int model, double rapl_energy_units) | |||
2601 | /* only called for genuine_intel, family 6 */ | 2602 | /* only called for genuine_intel, family 6 */ |
2602 | 2603 | ||
2603 | switch (model) { | 2604 | switch (model) { |
2604 | case 0x3F: /* HSX */ | 2605 | case INTEL_FAM6_HASWELL_X: /* HSX */ |
2605 | case 0x4F: /* BDX */ | 2606 | case INTEL_FAM6_BROADWELL_X: /* BDX */ |
2606 | case 0x56: /* BDX-DE */ | 2607 | case INTEL_FAM6_BROADWELL_XEON_D: /* BDX-DE */ |
2607 | case 0x57: /* KNL */ | 2608 | case INTEL_FAM6_XEON_PHI_KNL: /* KNL */ |
2608 | return (rapl_dram_energy_units = 15.3 / 1000000); | 2609 | return (rapl_dram_energy_units = 15.3 / 1000000); |
2609 | default: | 2610 | default: |
2610 | return (rapl_energy_units); | 2611 | return (rapl_energy_units); |
@@ -2630,40 +2631,40 @@ void rapl_probe(unsigned int family, unsigned int model) | |||
2630 | return; | 2631 | return; |
2631 | 2632 | ||
2632 | switch (model) { | 2633 | switch (model) { |
2633 | case 0x2A: | 2634 | case INTEL_FAM6_SANDYBRIDGE: |
2634 | case 0x3A: | 2635 | case INTEL_FAM6_IVYBRIDGE: |
2635 | case 0x3C: /* HSW */ | 2636 | case INTEL_FAM6_HASWELL_CORE: /* HSW */ |
2636 | case 0x45: /* HSW */ | 2637 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2637 | case 0x46: /* HSW */ | 2638 | case INTEL_FAM6_HASWELL_GT3E: /* HSW */ |
2638 | case 0x3D: /* BDW */ | 2639 | case INTEL_FAM6_BROADWELL_CORE: /* BDW */ |
2639 | case 0x47: /* BDW */ | 2640 | case INTEL_FAM6_BROADWELL_GT3E: /* BDW */ |
2640 | do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_GFX | RAPL_PKG_POWER_INFO; | 2641 | do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_GFX | RAPL_PKG_POWER_INFO; |
2641 | break; | 2642 | break; |
2642 | case 0x5C: /* BXT */ | 2643 | case INTEL_FAM6_ATOM_GOLDMONT: /* BXT */ |
2643 | do_rapl = RAPL_PKG | RAPL_PKG_POWER_INFO; | 2644 | do_rapl = RAPL_PKG | RAPL_PKG_POWER_INFO; |
2644 | break; | 2645 | break; |
2645 | case 0x4E: /* SKL */ | 2646 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2646 | case 0x5E: /* SKL */ | 2647 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2647 | case 0x8E: /* KBL */ | 2648 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2648 | case 0x9E: /* KBL */ | 2649 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2649 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO; | 2650 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO; |
2650 | break; | 2651 | break; |
2651 | case 0x3F: /* HSX */ | 2652 | case INTEL_FAM6_HASWELL_X: /* HSX */ |
2652 | case 0x4F: /* BDX */ | 2653 | case INTEL_FAM6_BROADWELL_X: /* BDX */ |
2653 | case 0x56: /* BDX-DE */ | 2654 | case INTEL_FAM6_BROADWELL_XEON_D: /* BDX-DE */ |
2654 | case 0x55: /* SKX */ | 2655 | case INTEL_FAM6_SKYLAKE_X: /* SKX */ |
2655 | case 0x57: /* KNL */ | 2656 | case INTEL_FAM6_XEON_PHI_KNL: /* KNL */ |
2656 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO; | 2657 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO; |
2657 | break; | 2658 | break; |
2658 | case 0x2D: | 2659 | case INTEL_FAM6_SANDYBRIDGE_X: |
2659 | case 0x3E: | 2660 | case INTEL_FAM6_IVYBRIDGE_X: |
2660 | do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_PKG_PERF_STATUS | RAPL_DRAM_PERF_STATUS | RAPL_PKG_POWER_INFO; | 2661 | do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_PKG_PERF_STATUS | RAPL_DRAM_PERF_STATUS | RAPL_PKG_POWER_INFO; |
2661 | break; | 2662 | break; |
2662 | case 0x37: /* BYT */ | 2663 | case INTEL_FAM6_ATOM_SILVERMONT1: /* BYT */ |
2663 | case 0x4D: /* AVN */ | 2664 | case INTEL_FAM6_ATOM_SILVERMONT2: /* AVN */ |
2664 | do_rapl = RAPL_PKG | RAPL_CORES; | 2665 | do_rapl = RAPL_PKG | RAPL_CORES; |
2665 | break; | 2666 | break; |
2666 | case 0x5f: /* DNV */ | 2667 | case INTEL_FAM6_ATOM_DENVERTON: /* DNV */ |
2667 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO | RAPL_CORES_ENERGY_STATUS; | 2668 | do_rapl = RAPL_PKG | RAPL_DRAM | RAPL_DRAM_POWER_INFO | RAPL_DRAM_PERF_STATUS | RAPL_PKG_PERF_STATUS | RAPL_PKG_POWER_INFO | RAPL_CORES_ENERGY_STATUS; |
2668 | break; | 2669 | break; |
2669 | default: | 2670 | default: |
@@ -2675,7 +2676,7 @@ void rapl_probe(unsigned int family, unsigned int model) | |||
2675 | return; | 2676 | return; |
2676 | 2677 | ||
2677 | rapl_power_units = 1.0 / (1 << (msr & 0xF)); | 2678 | rapl_power_units = 1.0 / (1 << (msr & 0xF)); |
2678 | if (model == 0x37) | 2679 | if (model == INTEL_FAM6_ATOM_SILVERMONT1) |
2679 | rapl_energy_units = 1.0 * (1 << (msr >> 8 & 0x1F)) / 1000000; | 2680 | rapl_energy_units = 1.0 * (1 << (msr >> 8 & 0x1F)) / 1000000; |
2680 | else | 2681 | else |
2681 | rapl_energy_units = 1.0 / (1 << (msr >> 8 & 0x1F)); | 2682 | rapl_energy_units = 1.0 / (1 << (msr >> 8 & 0x1F)); |
@@ -2706,11 +2707,11 @@ void perf_limit_reasons_probe(unsigned int family, unsigned int model) | |||
2706 | return; | 2707 | return; |
2707 | 2708 | ||
2708 | switch (model) { | 2709 | switch (model) { |
2709 | case 0x3C: /* HSW */ | 2710 | case INTEL_FAM6_HASWELL_CORE: /* HSW */ |
2710 | case 0x45: /* HSW */ | 2711 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2711 | case 0x46: /* HSW */ | 2712 | case INTEL_FAM6_HASWELL_GT3E: /* HSW */ |
2712 | do_gfx_perf_limit_reasons = 1; | 2713 | do_gfx_perf_limit_reasons = 1; |
2713 | case 0x3F: /* HSX */ | 2714 | case INTEL_FAM6_HASWELL_X: /* HSX */ |
2714 | do_core_perf_limit_reasons = 1; | 2715 | do_core_perf_limit_reasons = 1; |
2715 | do_ring_perf_limit_reasons = 1; | 2716 | do_ring_perf_limit_reasons = 1; |
2716 | default: | 2717 | default: |
@@ -2919,24 +2920,24 @@ int has_snb_msrs(unsigned int family, unsigned int model) | |||
2919 | return 0; | 2920 | return 0; |
2920 | 2921 | ||
2921 | switch (model) { | 2922 | switch (model) { |
2922 | case 0x2A: | 2923 | case INTEL_FAM6_SANDYBRIDGE: |
2923 | case 0x2D: | 2924 | case INTEL_FAM6_SANDYBRIDGE_X: |
2924 | case 0x3A: /* IVB */ | 2925 | case INTEL_FAM6_IVYBRIDGE: /* IVB */ |
2925 | case 0x3E: /* IVB Xeon */ | 2926 | case INTEL_FAM6_IVYBRIDGE_X: /* IVB Xeon */ |
2926 | case 0x3C: /* HSW */ | 2927 | case INTEL_FAM6_HASWELL_CORE: /* HSW */ |
2927 | case 0x3F: /* HSW */ | 2928 | case INTEL_FAM6_HASWELL_X: /* HSW */ |
2928 | case 0x45: /* HSW */ | 2929 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2929 | case 0x46: /* HSW */ | 2930 | case INTEL_FAM6_HASWELL_GT3E: /* HSW */ |
2930 | case 0x3D: /* BDW */ | 2931 | case INTEL_FAM6_BROADWELL_CORE: /* BDW */ |
2931 | case 0x47: /* BDW */ | 2932 | case INTEL_FAM6_BROADWELL_GT3E: /* BDW */ |
2932 | case 0x4F: /* BDX */ | 2933 | case INTEL_FAM6_BROADWELL_X: /* BDX */ |
2933 | case 0x56: /* BDX-DE */ | 2934 | case INTEL_FAM6_BROADWELL_XEON_D: /* BDX-DE */ |
2934 | case 0x4E: /* SKL */ | 2935 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2935 | case 0x5E: /* SKL */ | 2936 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2936 | case 0x8E: /* KBL */ | 2937 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2937 | case 0x9E: /* KBL */ | 2938 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2938 | case 0x55: /* SKX */ | 2939 | case INTEL_FAM6_SKYLAKE_X: /* SKX */ |
2939 | case 0x5C: /* BXT */ | 2940 | case INTEL_FAM6_ATOM_GOLDMONT: /* BXT */ |
2940 | return 1; | 2941 | return 1; |
2941 | } | 2942 | } |
2942 | return 0; | 2943 | return 0; |
@@ -2960,13 +2961,13 @@ int has_hsw_msrs(unsigned int family, unsigned int model) | |||
2960 | return 0; | 2961 | return 0; |
2961 | 2962 | ||
2962 | switch (model) { | 2963 | switch (model) { |
2963 | case 0x45: /* HSW */ | 2964 | case INTEL_FAM6_HASWELL_ULT: /* HSW */ |
2964 | case 0x3D: /* BDW */ | 2965 | case INTEL_FAM6_BROADWELL_CORE: /* BDW */ |
2965 | case 0x4E: /* SKL */ | 2966 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2966 | case 0x5E: /* SKL */ | 2967 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2967 | case 0x8E: /* KBL */ | 2968 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2968 | case 0x9E: /* KBL */ | 2969 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2969 | case 0x5C: /* BXT */ | 2970 | case INTEL_FAM6_ATOM_GOLDMONT: /* BXT */ |
2970 | return 1; | 2971 | return 1; |
2971 | } | 2972 | } |
2972 | return 0; | 2973 | return 0; |
@@ -2986,10 +2987,10 @@ int has_skl_msrs(unsigned int family, unsigned int model) | |||
2986 | return 0; | 2987 | return 0; |
2987 | 2988 | ||
2988 | switch (model) { | 2989 | switch (model) { |
2989 | case 0x4E: /* SKL */ | 2990 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
2990 | case 0x5E: /* SKL */ | 2991 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
2991 | case 0x8E: /* KBL */ | 2992 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
2992 | case 0x9E: /* KBL */ | 2993 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
2993 | return 1; | 2994 | return 1; |
2994 | } | 2995 | } |
2995 | return 0; | 2996 | return 0; |
@@ -3002,8 +3003,8 @@ int is_slm(unsigned int family, unsigned int model) | |||
3002 | if (!genuine_intel) | 3003 | if (!genuine_intel) |
3003 | return 0; | 3004 | return 0; |
3004 | switch (model) { | 3005 | switch (model) { |
3005 | case 0x37: /* BYT */ | 3006 | case INTEL_FAM6_ATOM_SILVERMONT1: /* BYT */ |
3006 | case 0x4D: /* AVN */ | 3007 | case INTEL_FAM6_ATOM_SILVERMONT2: /* AVN */ |
3007 | return 1; | 3008 | return 1; |
3008 | } | 3009 | } |
3009 | return 0; | 3010 | return 0; |
@@ -3014,7 +3015,7 @@ int is_knl(unsigned int family, unsigned int model) | |||
3014 | if (!genuine_intel) | 3015 | if (!genuine_intel) |
3015 | return 0; | 3016 | return 0; |
3016 | switch (model) { | 3017 | switch (model) { |
3017 | case 0x57: /* KNL */ | 3018 | case INTEL_FAM6_XEON_PHI_KNL: /* KNL */ |
3018 | return 1; | 3019 | return 1; |
3019 | } | 3020 | } |
3020 | return 0; | 3021 | return 0; |
@@ -3295,17 +3296,17 @@ void process_cpuid() | |||
3295 | 3296 | ||
3296 | if (crystal_hz == 0) | 3297 | if (crystal_hz == 0) |
3297 | switch(model) { | 3298 | switch(model) { |
3298 | case 0x4E: /* SKL */ | 3299 | case INTEL_FAM6_SKYLAKE_MOBILE: /* SKL */ |
3299 | case 0x5E: /* SKL */ | 3300 | case INTEL_FAM6_SKYLAKE_DESKTOP: /* SKL */ |
3300 | case 0x8E: /* KBL */ | 3301 | case INTEL_FAM6_KABYLAKE_MOBILE: /* KBL */ |
3301 | case 0x9E: /* KBL */ | 3302 | case INTEL_FAM6_KABYLAKE_DESKTOP: /* KBL */ |
3302 | crystal_hz = 24000000; /* 24.0 MHz */ | 3303 | crystal_hz = 24000000; /* 24.0 MHz */ |
3303 | break; | 3304 | break; |
3304 | case 0x55: /* SKX */ | 3305 | case INTEL_FAM6_SKYLAKE_X: /* SKX */ |
3305 | crystal_hz = 25000000; /* 25.0 MHz */ | 3306 | crystal_hz = 25000000; /* 25.0 MHz */ |
3306 | break; | 3307 | break; |
3307 | case 0x5C: /* BXT */ | 3308 | case INTEL_FAM6_ATOM_GOLDMONT: /* BXT */ |
3308 | case 0x5F: /* DNV */ | 3309 | case INTEL_FAM6_ATOM_DENVERTON: /* DNV */ |
3309 | crystal_hz = 19200000; /* 19.2 MHz */ | 3310 | crystal_hz = 19200000; /* 19.2 MHz */ |
3310 | break; | 3311 | break; |
3311 | default: | 3312 | default: |