diff options
Diffstat (limited to 'arch/x86/include/asm/msr.h')
| -rw-r--r-- | arch/x86/include/asm/msr.h | 46 | 
1 files changed, 5 insertions, 41 deletions
diff --git a/arch/x86/include/asm/msr.h b/arch/x86/include/asm/msr.h index 084ef95274c..813ed103f45 100644 --- a/arch/x86/include/asm/msr.h +++ b/arch/x86/include/asm/msr.h @@ -115,8 +115,8 @@ notrace static inline int native_write_msr_safe(unsigned int msr,  extern unsigned long long native_read_tsc(void); -extern int native_rdmsr_safe_regs(u32 regs[8]); -extern int native_wrmsr_safe_regs(u32 regs[8]); +extern int rdmsr_safe_regs(u32 regs[8]); +extern int wrmsr_safe_regs(u32 regs[8]);  static __always_inline unsigned long long __native_read_tsc(void)  { @@ -187,43 +187,6 @@ static inline int rdmsrl_safe(unsigned msr, unsigned long long *p)  	return err;  } -static inline int rdmsrl_amd_safe(unsigned msr, unsigned long long *p) -{ -	u32 gprs[8] = { 0 }; -	int err; - -	gprs[1] = msr; -	gprs[7] = 0x9c5a203a; - -	err = native_rdmsr_safe_regs(gprs); - -	*p = gprs[0] | ((u64)gprs[2] << 32); - -	return err; -} - -static inline int wrmsrl_amd_safe(unsigned msr, unsigned long long val) -{ -	u32 gprs[8] = { 0 }; - -	gprs[0] = (u32)val; -	gprs[1] = msr; -	gprs[2] = val >> 32; -	gprs[7] = 0x9c5a203a; - -	return native_wrmsr_safe_regs(gprs); -} - -static inline int rdmsr_safe_regs(u32 regs[8]) -{ -	return native_rdmsr_safe_regs(regs); -} - -static inline int wrmsr_safe_regs(u32 regs[8]) -{ -	return native_wrmsr_safe_regs(regs); -} -  #define rdtscl(low)						\  	((low) = (u32)__native_read_tsc()) @@ -237,6 +200,8 @@ do {							\  	(high) = (u32)(_l >> 32);			\  } while (0) +#define rdpmcl(counter, val) ((val) = native_read_pmc(counter)) +  #define rdtscp(low, high, aux)					\  do {                                                            \  	unsigned long long _val = native_read_tscp(&(aux));     \ @@ -248,8 +213,7 @@ do {                                                            \  #endif	/* !CONFIG_PARAVIRT */ - -#define checking_wrmsrl(msr, val) wrmsr_safe((msr), (u32)(val),		\ +#define wrmsrl_safe(msr, val) wrmsr_safe((msr), (u32)(val),		\  					     (u32)((val) >> 32))  #define write_tsc(val1, val2) wrmsr(MSR_IA32_TSC, (val1), (val2))  |