diff options
Diffstat (limited to 'include/asm-i386/msr.h')
-rw-r--r-- | include/asm-i386/msr.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-i386/msr.h b/include/asm-i386/msr.h index 62b76cd96957..5679d4993072 100644 --- a/include/asm-i386/msr.h +++ b/include/asm-i386/msr.h | |||
@@ -1,6 +1,10 @@ | |||
1 | #ifndef __ASM_MSR_H | 1 | #ifndef __ASM_MSR_H |
2 | #define __ASM_MSR_H | 2 | #define __ASM_MSR_H |
3 | 3 | ||
4 | #ifdef CONFIG_PARAVIRT | ||
5 | #include <asm/paravirt.h> | ||
6 | #else | ||
7 | |||
4 | /* | 8 | /* |
5 | * Access to machine-specific registers (available on 586 and better only) | 9 | * Access to machine-specific registers (available on 586 and better only) |
6 | * Note: the rd* operations modify the parameters directly (without using | 10 | * Note: the rd* operations modify the parameters directly (without using |
@@ -77,6 +81,7 @@ static inline void wrmsrl (unsigned long msr, unsigned long long val) | |||
77 | __asm__ __volatile__("rdpmc" \ | 81 | __asm__ __volatile__("rdpmc" \ |
78 | : "=a" (low), "=d" (high) \ | 82 | : "=a" (low), "=d" (high) \ |
79 | : "c" (counter)) | 83 | : "c" (counter)) |
84 | #endif /* !CONFIG_PARAVIRT */ | ||
80 | 85 | ||
81 | /* symbolic names for some interesting MSRs */ | 86 | /* symbolic names for some interesting MSRs */ |
82 | /* Intel defined MSRs. */ | 87 | /* Intel defined MSRs. */ |
@@ -141,6 +146,10 @@ static inline void wrmsrl (unsigned long msr, unsigned long long val) | |||
141 | #define MSR_IA32_MC0_ADDR 0x402 | 146 | #define MSR_IA32_MC0_ADDR 0x402 |
142 | #define MSR_IA32_MC0_MISC 0x403 | 147 | #define MSR_IA32_MC0_MISC 0x403 |
143 | 148 | ||
149 | #define MSR_IA32_PEBS_ENABLE 0x3f1 | ||
150 | #define MSR_IA32_DS_AREA 0x600 | ||
151 | #define MSR_IA32_PERF_CAPABILITIES 0x345 | ||
152 | |||
144 | /* Pentium IV performance counter MSRs */ | 153 | /* Pentium IV performance counter MSRs */ |
145 | #define MSR_P4_BPU_PERFCTR0 0x300 | 154 | #define MSR_P4_BPU_PERFCTR0 0x300 |
146 | #define MSR_P4_BPU_PERFCTR1 0x301 | 155 | #define MSR_P4_BPU_PERFCTR1 0x301 |
@@ -284,4 +293,13 @@ static inline void wrmsrl (unsigned long msr, unsigned long long val) | |||
284 | #define MSR_TMTA_LRTI_READOUT 0x80868018 | 293 | #define MSR_TMTA_LRTI_READOUT 0x80868018 |
285 | #define MSR_TMTA_LRTI_VOLT_MHZ 0x8086801a | 294 | #define MSR_TMTA_LRTI_VOLT_MHZ 0x8086801a |
286 | 295 | ||
296 | /* Intel Core-based CPU performance counters */ | ||
297 | #define MSR_CORE_PERF_FIXED_CTR0 0x309 | ||
298 | #define MSR_CORE_PERF_FIXED_CTR1 0x30a | ||
299 | #define MSR_CORE_PERF_FIXED_CTR2 0x30b | ||
300 | #define MSR_CORE_PERF_FIXED_CTR_CTRL 0x38d | ||
301 | #define MSR_CORE_PERF_GLOBAL_STATUS 0x38e | ||
302 | #define MSR_CORE_PERF_GLOBAL_CTRL 0x38f | ||
303 | #define MSR_CORE_PERF_GLOBAL_OVF_CTRL 0x390 | ||
304 | |||
287 | #endif /* __ASM_MSR_H */ | 305 | #endif /* __ASM_MSR_H */ |