Lines Matching defs:msrs
133 struct op_msrs const * const msrs)
269 struct op_msrs const * const msrs)
279 rdmsrl(msrs->controls[i].addr, val);
282 wrmsrl(msrs->controls[i].addr, val);
290 static void op_amd_shutdown(struct op_msrs const * const msrs)
295 if (!msrs->counters[i].addr)
302 static int op_amd_fill_in_addresses(struct op_msrs * const msrs)
315 msrs->counters[i].addr = MSR_F15H_PERF_CTR + (i << 1);
316 msrs->controls[i].addr = MSR_F15H_PERF_CTL + (i << 1);
318 msrs->controls[i].addr = MSR_K7_EVNTSEL0 + i;
319 msrs->counters[i].addr = MSR_K7_PERFCTR0 + i;
326 op_amd_shutdown(msrs);
334 struct op_msrs const * const msrs)
342 && msrs->counters[op_x86_virt_to_phys(i)].addr)
350 if (!msrs->controls[i].addr)
352 rdmsrl(msrs->controls[i].addr, val);
356 wrmsrl(msrs->controls[i].addr, val);
361 wrmsrl(msrs->counters[i].addr, -1LL);
371 wrmsrl(msrs->counters[i].addr, -(u64)reset_value[virt]);
374 rdmsrl(msrs->controls[i].addr, val);
377 wrmsrl(msrs->controls[i].addr, val);
382 struct op_msrs const * const msrs)
391 rdmsrl(msrs->counters[i].addr, val);
396 wrmsrl(msrs->counters[i].addr, -(u64)reset_value[virt]);
399 op_amd_handle_ibs(regs, msrs);
405 static void op_amd_start(struct op_msrs const * const msrs)
413 rdmsrl(msrs->controls[i].addr, val);
415 wrmsrl(msrs->controls[i].addr, val);
421 static void op_amd_stop(struct op_msrs const * const msrs)
433 rdmsrl(msrs->controls[i].addr, val);
435 wrmsrl(msrs->controls[i].addr, val);