Home | History | Annotate | Download | only in x86

Lines Matching refs:msrs

20 #define CTR_READ(l, h, msrs, c) do {rdmsr(msrs->counters.addrs[(c)], (l), (h));} while (0)
21 #define CTR_WRITE(l, msrs, c) do {wrmsr(msrs->counters.addrs[(c)], -(u32)(l), -1);} while (0)
24 #define CTRL_READ(l, h, msrs, c) do {rdmsr((msrs->controls.addrs[(c)]), (l), (h));} while (0)
25 #define CTRL_WRITE(l, h, msrs, c) do {wrmsr((msrs->controls.addrs[(c)]), (l), (h));} while (0)
36 static void ppro_fill_in_addresses(struct op_msrs * const msrs)
38 msrs->counters.addrs[0] = MSR_P6_PERFCTR0;
39 msrs->counters.addrs[1] = MSR_P6_PERFCTR1;
41 msrs->controls.addrs[0] = MSR_P6_EVNTSEL0;
42 msrs->controls.addrs[1] = MSR_P6_EVNTSEL1;
46 static void ppro_setup_ctrs(struct op_msrs const * const msrs)
53 CTRL_READ(low, high, msrs, i);
55 CTRL_WRITE(low, high, msrs, i);
60 CTR_WRITE(1, msrs, i);
66 CTR_WRITE(sysctl.ctr[i].count, msrs, i);
68 CTRL_READ(low, high, msrs, i);
75 CTRL_WRITE(low, high, msrs, i);
82 struct op_msrs const * const msrs,
88 CTR_READ(low, high, msrs, i);
91 CTR_WRITE(oprof_data[cpu].ctr_count[i], msrs, i);
97 static void ppro_start(struct op_msrs const * const msrs)
100 CTRL_READ(low, high, msrs, 0);
102 CTRL_WRITE(low, high, msrs, 0);
106 static void ppro_stop(struct op_msrs const * const msrs)
109 CTRL_READ(low, high, msrs, 0);
111 CTRL_WRITE(low, high, msrs, 0);