Lines Matching refs:pmu
34 static unsigned amd_find_arch_event(struct kvm_pmu *pmu, in amd_find_arch_event() argument
65 static struct kvm_pmc *amd_pmc_idx_to_pmc(struct kvm_pmu *pmu, int pmc_idx) in amd_pmc_idx_to_pmc() argument
67 return get_gp_pmc(pmu, MSR_K7_EVNTSEL0 + pmc_idx, MSR_K7_EVNTSEL0); in amd_pmc_idx_to_pmc()
73 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_is_valid_msr_idx() local
77 return (idx >= pmu->nr_arch_gp_counters); in amd_is_valid_msr_idx()
83 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_msr_idx_to_pmc() local
87 if (idx >= pmu->nr_arch_gp_counters) in amd_msr_idx_to_pmc()
89 counters = pmu->gp_counters; in amd_msr_idx_to_pmc()
96 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_is_valid_msr() local
99 ret = get_gp_pmc(pmu, msr, MSR_K7_PERFCTR0) || in amd_is_valid_msr()
100 get_gp_pmc(pmu, msr, MSR_K7_EVNTSEL0); in amd_is_valid_msr()
107 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_pmu_get_msr() local
111 pmc = get_gp_pmc(pmu, msr, MSR_K7_PERFCTR0); in amd_pmu_get_msr()
117 pmc = get_gp_pmc(pmu, msr, MSR_K7_EVNTSEL0); in amd_pmu_get_msr()
128 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_pmu_set_msr() local
134 pmc = get_gp_pmc(pmu, msr, MSR_K7_PERFCTR0); in amd_pmu_set_msr()
140 pmc = get_gp_pmc(pmu, msr, MSR_K7_EVNTSEL0); in amd_pmu_set_msr()
144 if (!(data & pmu->reserved_bits)) { in amd_pmu_set_msr()
155 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_pmu_refresh() local
157 pmu->nr_arch_gp_counters = AMD64_NUM_COUNTERS; in amd_pmu_refresh()
158 pmu->counter_bitmask[KVM_PMC_GP] = ((u64)1 << 48) - 1; in amd_pmu_refresh()
159 pmu->reserved_bits = 0xffffffff00200000ull; in amd_pmu_refresh()
161 pmu->counter_bitmask[KVM_PMC_FIXED] = 0; in amd_pmu_refresh()
162 pmu->nr_arch_fixed_counters = 0; in amd_pmu_refresh()
163 pmu->version = 0; in amd_pmu_refresh()
164 pmu->global_status = 0; in amd_pmu_refresh()
169 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_pmu_init() local
173 pmu->gp_counters[i].type = KVM_PMC_GP; in amd_pmu_init()
174 pmu->gp_counters[i].vcpu = vcpu; in amd_pmu_init()
175 pmu->gp_counters[i].idx = i; in amd_pmu_init()
181 struct kvm_pmu *pmu = vcpu_to_pmu(vcpu); in amd_pmu_reset() local
185 struct kvm_pmc *pmc = &pmu->gp_counters[i]; in amd_pmu_reset()