Lines Matching refs:msr

26 struct msr {  struct
38 struct msr reg; argument
39 struct msr *msrs;
75 unsigned long long native_read_msr(unsigned int msr) in native_read_msr() argument
79 asm volatile("rdmsr" : EAX_EDX_RET(val, low, high) : "c" (msr)); in native_read_msr()
83 static inline void native_write_msr(unsigned int msr, in native_write_msr() argument
86 asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high) : "memory"); in native_write_msr()
112 #define rdmsr(msr, val1, val2) \ argument
114 u64 __val = native_read_msr((msr)); \
119 static inline void wrmsr(unsigned msr, unsigned low, unsigned high) in wrmsr() argument
121 native_write_msr(msr, low, high); in wrmsr()
124 #define rdmsrl(msr, val) \ argument
125 ((val) = native_read_msr((msr)))
127 #define wrmsrl(msr, val) \ argument
128 native_write_msr((msr), (u32)((u64)(val)), (u32)((u64)(val) >> 32))
130 static inline void msr_clrsetbits_64(unsigned msr, u64 clear, u64 set) in msr_clrsetbits_64() argument
134 val = native_read_msr(msr); in msr_clrsetbits_64()
137 wrmsrl(msr, val); in msr_clrsetbits_64()
140 static inline void msr_setbits_64(unsigned msr, u64 set) in msr_setbits_64() argument
144 val = native_read_msr(msr); in msr_setbits_64()
146 wrmsrl(msr, val); in msr_setbits_64()
149 static inline void msr_clrbits_64(unsigned msr, u64 clear) in msr_clrbits_64() argument
153 val = native_read_msr(msr); in msr_clrbits_64()
155 wrmsrl(msr, val); in msr_clrbits_64()
159 #define rdmsr_safe(msr, p1, p2) \ argument
162 u64 __val = native_read_msr_safe((msr), &__err); \
168 static inline int rdmsrl_amd_safe(unsigned msr, unsigned long long *p) in rdmsrl_amd_safe() argument
173 gprs[1] = msr; in rdmsrl_amd_safe()
183 static inline int wrmsrl_amd_safe(unsigned msr, unsigned long long val) in wrmsrl_amd_safe() argument
188 gprs[1] = msr; in wrmsrl_amd_safe()
212 struct msr_t msr; in msr_read() local
214 rdmsr(msr_num, msr.lo, msr.hi); in msr_read()
216 return msr; in msr_read()
219 static inline void msr_write(unsigned msr_num, msr_t msr) in msr_write() argument
221 wrmsr(msr_num, msr.lo, msr.hi); in msr_write()
249 #define checking_wrmsrl(msr, val) wrmsr_safe((msr), (u32)(val), \ argument
256 struct msr *msrs_alloc(void);
257 void msrs_free(struct msr *msrs);