Lines Matching refs:msr

27 struct msr {  struct
39 struct msr reg; argument
40 struct msr *msrs;
76 unsigned long long native_read_msr(unsigned int msr) in native_read_msr() argument
80 asm volatile("rdmsr" : EAX_EDX_RET(val, low, high) : "c" (msr)); in native_read_msr()
84 static inline void native_write_msr(unsigned int msr, in native_write_msr() argument
87 asm volatile("wrmsr" : : "c" (msr), "a"(low), "d" (high) : "memory"); in native_write_msr()
113 #define rdmsr(msr, val1, val2) \ argument
115 u64 __val = native_read_msr((msr)); \
120 static inline void wrmsr(unsigned msr, unsigned low, unsigned high) in wrmsr() argument
122 native_write_msr(msr, low, high); in wrmsr()
125 #define rdmsrl(msr, val) \ argument
126 ((val) = native_read_msr((msr)))
128 #define wrmsrl(msr, val) \ argument
129 native_write_msr((msr), (u32)((u64)(val)), (u32)((u64)(val) >> 32))
131 static inline void msr_clrsetbits_64(unsigned msr, u64 clear, u64 set) in msr_clrsetbits_64() argument
135 val = native_read_msr(msr); in msr_clrsetbits_64()
138 wrmsrl(msr, val); in msr_clrsetbits_64()
141 static inline void msr_setbits_64(unsigned msr, u64 set) in msr_setbits_64() argument
145 val = native_read_msr(msr); in msr_setbits_64()
147 wrmsrl(msr, val); in msr_setbits_64()
150 static inline void msr_clrbits_64(unsigned msr, u64 clear) in msr_clrbits_64() argument
154 val = native_read_msr(msr); in msr_clrbits_64()
156 wrmsrl(msr, val); in msr_clrbits_64()
160 #define rdmsr_safe(msr, p1, p2) \ argument
163 u64 __val = native_read_msr_safe((msr), &__err); \
169 static inline int rdmsrl_amd_safe(unsigned msr, unsigned long long *p) in rdmsrl_amd_safe() argument
174 gprs[1] = msr; in rdmsrl_amd_safe()
184 static inline int wrmsrl_amd_safe(unsigned msr, unsigned long long val) in wrmsrl_amd_safe() argument
189 gprs[1] = msr; in wrmsrl_amd_safe()
213 struct msr_t msr; in msr_read() local
215 rdmsr(msr_num, msr.lo, msr.hi); in msr_read()
217 return msr; in msr_read()
220 static inline void msr_write(unsigned msr_num, msr_t msr) in msr_write() argument
222 wrmsr(msr_num, msr.lo, msr.hi); in msr_write()
250 #define checking_wrmsrl(msr, val) wrmsr_safe((msr), (u32)(val), \ argument
257 struct msr *msrs_alloc(void);
258 void msrs_free(struct msr *msrs);