diff options
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/include/asm/cpufeature.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/msr-index.h | 17 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/scattered.c | 2 |
3 files changed, 19 insertions, 2 deletions
diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h index 4be50ddd4d79..817aa316b180 100644 --- a/arch/x86/include/asm/cpufeature.h +++ b/arch/x86/include/asm/cpufeature.h | |||
@@ -166,6 +166,8 @@ | |||
166 | #define X86_FEATURE_CPB (7*32+ 2) /* AMD Core Performance Boost */ | 166 | #define X86_FEATURE_CPB (7*32+ 2) /* AMD Core Performance Boost */ |
167 | #define X86_FEATURE_EPB (7*32+ 3) /* IA32_ENERGY_PERF_BIAS support */ | 167 | #define X86_FEATURE_EPB (7*32+ 3) /* IA32_ENERGY_PERF_BIAS support */ |
168 | #define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */ | 168 | #define X86_FEATURE_XSAVEOPT (7*32+ 4) /* Optimized Xsave */ |
169 | #define X86_FEATURE_PLN (7*32+ 5) /* Intel Power Limit Notification */ | ||
170 | #define X86_FEATURE_PTS (7*32+ 6) /* Intel Package Thermal Status */ | ||
169 | 171 | ||
170 | /* Virtualization flags: Linux defined, word 8 */ | 172 | /* Virtualization flags: Linux defined, word 8 */ |
171 | #define X86_FEATURE_TPR_SHADOW (8*32+ 0) /* Intel TPR Shadow */ | 173 | #define X86_FEATURE_TPR_SHADOW (8*32+ 0) /* Intel TPR Shadow */ |
diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h index 7cc4a026331c..4ea2a7ca7a4b 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h | |||
@@ -224,12 +224,14 @@ | |||
224 | #define MSR_IA32_THERM_CONTROL 0x0000019a | 224 | #define MSR_IA32_THERM_CONTROL 0x0000019a |
225 | #define MSR_IA32_THERM_INTERRUPT 0x0000019b | 225 | #define MSR_IA32_THERM_INTERRUPT 0x0000019b |
226 | 226 | ||
227 | #define THERM_INT_LOW_ENABLE (1 << 0) | 227 | #define THERM_INT_HIGH_ENABLE (1 << 0) |
228 | #define THERM_INT_HIGH_ENABLE (1 << 1) | 228 | #define THERM_INT_LOW_ENABLE (1 << 1) |
229 | #define THERM_INT_PLN_ENABLE (1 << 24) | ||
229 | 230 | ||
230 | #define MSR_IA32_THERM_STATUS 0x0000019c | 231 | #define MSR_IA32_THERM_STATUS 0x0000019c |
231 | 232 | ||
232 | #define THERM_STATUS_PROCHOT (1 << 0) | 233 | #define THERM_STATUS_PROCHOT (1 << 0) |
234 | #define THERM_STATUS_POWER_LIMIT (1 << 10) | ||
233 | 235 | ||
234 | #define MSR_THERM2_CTL 0x0000019d | 236 | #define MSR_THERM2_CTL 0x0000019d |
235 | 237 | ||
@@ -241,6 +243,17 @@ | |||
241 | 243 | ||
242 | #define MSR_IA32_ENERGY_PERF_BIAS 0x000001b0 | 244 | #define MSR_IA32_ENERGY_PERF_BIAS 0x000001b0 |
243 | 245 | ||
246 | #define MSR_IA32_PACKAGE_THERM_STATUS 0x000001b1 | ||
247 | |||
248 | #define PACKAGE_THERM_STATUS_PROCHOT (1 << 0) | ||
249 | #define PACKAGE_THERM_STATUS_POWER_LIMIT (1 << 10) | ||
250 | |||
251 | #define MSR_IA32_PACKAGE_THERM_INTERRUPT 0x000001b2 | ||
252 | |||
253 | #define PACKAGE_THERM_INT_HIGH_ENABLE (1 << 0) | ||
254 | #define PACKAGE_THERM_INT_LOW_ENABLE (1 << 1) | ||
255 | #define PACKAGE_THERM_INT_PLN_ENABLE (1 << 24) | ||
256 | |||
244 | /* MISC_ENABLE bits: architectural */ | 257 | /* MISC_ENABLE bits: architectural */ |
245 | #define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << 0) | 258 | #define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << 0) |
246 | #define MSR_IA32_MISC_ENABLE_TCC (1ULL << 1) | 259 | #define MSR_IA32_MISC_ENABLE_TCC (1ULL << 1) |
diff --git a/arch/x86/kernel/cpu/scattered.c b/arch/x86/kernel/cpu/scattered.c index 9815364b477e..34b4dad6f0b8 100644 --- a/arch/x86/kernel/cpu/scattered.c +++ b/arch/x86/kernel/cpu/scattered.c | |||
@@ -33,6 +33,8 @@ void __cpuinit init_scattered_cpuid_features(struct cpuinfo_x86 *c) | |||
33 | static const struct cpuid_bit __cpuinitconst cpuid_bits[] = { | 33 | static const struct cpuid_bit __cpuinitconst cpuid_bits[] = { |
34 | { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 }, | 34 | { X86_FEATURE_IDA, CR_EAX, 1, 0x00000006, 0 }, |
35 | { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 }, | 35 | { X86_FEATURE_ARAT, CR_EAX, 2, 0x00000006, 0 }, |
36 | { X86_FEATURE_PLN, CR_EAX, 4, 0x00000006, 0 }, | ||
37 | { X86_FEATURE_PTS, CR_EAX, 6, 0x00000006, 0 }, | ||
36 | { X86_FEATURE_APERFMPERF, CR_ECX, 0, 0x00000006, 0 }, | 38 | { X86_FEATURE_APERFMPERF, CR_ECX, 0, 0x00000006, 0 }, |
37 | { X86_FEATURE_EPB, CR_ECX, 3, 0x00000006, 0 }, | 39 | { X86_FEATURE_EPB, CR_ECX, 3, 0x00000006, 0 }, |
38 | { X86_FEATURE_XSAVEOPT, CR_EAX, 0, 0x0000000d, 1 }, | 40 | { X86_FEATURE_XSAVEOPT, CR_EAX, 0, 0x0000000d, 1 }, |