• Home
  • Raw
  • Download

Lines Matching full:pmc

152 /* check if a PMC is enabled by comparing it against global_ctrl bits. Because
155 static bool amd_pmc_is_enabled(struct kvm_pmc *pmc) in amd_pmc_is_enabled() argument
203 /* All MSRs refer to exactly one PMC, so msr_idx_to_pmc is enough. */ in amd_is_valid_msr()
210 struct kvm_pmc *pmc; in amd_msr_idx_to_pmc() local
212 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_msr_idx_to_pmc()
213 pmc = pmc ? pmc : get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_msr_idx_to_pmc()
215 return pmc; in amd_msr_idx_to_pmc()
221 struct kvm_pmc *pmc; in amd_pmu_get_msr() local
225 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_get_msr()
226 if (pmc) { in amd_pmu_get_msr()
227 msr_info->data = pmc_read_counter(pmc); in amd_pmu_get_msr()
231 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_pmu_get_msr()
232 if (pmc) { in amd_pmu_get_msr()
233 msr_info->data = pmc->eventsel; in amd_pmu_get_msr()
243 struct kvm_pmc *pmc; in amd_pmu_set_msr() local
248 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_COUNTER); in amd_pmu_set_msr()
249 if (pmc) { in amd_pmu_set_msr()
250 pmc->counter += data - pmc_read_counter(pmc); in amd_pmu_set_msr()
254 pmc = get_gp_pmc_amd(pmu, msr, PMU_TYPE_EVNTSEL); in amd_pmu_set_msr()
255 if (pmc) { in amd_pmu_set_msr()
256 if (data == pmc->eventsel) in amd_pmu_set_msr()
259 reprogram_gp_counter(pmc, data); in amd_pmu_set_msr()
307 struct kvm_pmc *pmc = &pmu->gp_counters[i]; in amd_pmu_reset() local
309 pmc_stop_counter(pmc); in amd_pmu_reset()
310 pmc->counter = pmc->eventsel = 0; in amd_pmu_reset()