Lines Matching refs:msrs

51 #define CTRL_READ(msr_content,msrs,c) do {rdmsrl((msrs->controls[(c)].addr), (msr_content));} while…  argument
52 #define CTRL_WRITE(msr_content,msrs,c) do {wrmsrl((msrs->controls[(c)].addr), (msr_content));} whil… argument
66 static void ppro_fill_in_addresses(struct op_msrs * const msrs) in ppro_fill_in_addresses() argument
71 msrs->counters[i].addr = MSR_P6_PERFCTR(i); in ppro_fill_in_addresses()
73 msrs->controls[i].addr = MSR_P6_EVNTSEL(i); in ppro_fill_in_addresses()
77 static void ppro_setup_ctrs(struct op_msrs const * const msrs) in ppro_setup_ctrs() argument
101 CTRL_READ(msr_content, msrs, i); in ppro_setup_ctrs()
103 CTRL_WRITE(msr_content, msrs, i); in ppro_setup_ctrs()
108 wrmsrl(msrs->counters[i].addr, ~0x0ULL); in ppro_setup_ctrs()
115 wrmsrl(msrs->counters[i].addr, -reset_value[i]); in ppro_setup_ctrs()
117 CTRL_READ(msr_content, msrs, i); in ppro_setup_ctrs()
124 CTRL_WRITE(msr_content, msrs, i); in ppro_setup_ctrs()
132 struct op_msrs const * const msrs, in ppro_check_ctrs() argument
145 rdmsrl(msrs->counters[i].addr, val); in ppro_check_ctrs()
148 wrmsrl(msrs->counters[i].addr, -reset_value[i]); in ppro_check_ctrs()
173 static void ppro_start(struct op_msrs const * const msrs) in ppro_start() argument
180 CTRL_READ(msr_content, msrs, i); in ppro_start()
182 CTRL_WRITE(msr_content, msrs, i); in ppro_start()
193 static void ppro_stop(struct op_msrs const * const msrs) in ppro_stop() argument
201 CTRL_READ(msr_content, msrs, i); in ppro_stop()
203 CTRL_WRITE(msr_content, msrs, i); in ppro_stop()
260 struct arch_msr_pair *msrs = vcpu_vpmu(v)->context; in ppro_load_msr() local
264 *msr_content = msrs[index].counter; in ppro_load_msr()
267 *msr_content = msrs[index].control; in ppro_load_msr()
274 struct arch_msr_pair *msrs = vcpu_vpmu(v)->context; in ppro_save_msr() local
279 msrs[index].counter = msr_content; in ppro_save_msr()
282 msrs[index].control = msr_content; in ppro_save_msr()