Lines Matching refs:select_idx
32 u64 kvm_pmu_get_counter_value(struct kvm_vcpu *vcpu, u64 select_idx) in kvm_pmu_get_counter_value() argument
36 struct kvm_pmc *pmc = &pmu->pmc[select_idx]; in kvm_pmu_get_counter_value()
38 reg = (select_idx == ARMV8_PMU_CYCLE_IDX) in kvm_pmu_get_counter_value()
39 ? PMCCNTR_EL0 : PMEVCNTR0_EL0 + select_idx; in kvm_pmu_get_counter_value()
58 void kvm_pmu_set_counter_value(struct kvm_vcpu *vcpu, u64 select_idx, u64 val) in kvm_pmu_set_counter_value() argument
62 reg = (select_idx == ARMV8_PMU_CYCLE_IDX) in kvm_pmu_set_counter_value()
63 ? PMCCNTR_EL0 : PMEVCNTR0_EL0 + select_idx; in kvm_pmu_set_counter_value()
64 __vcpu_sys_reg(vcpu, reg) += (s64)val - kvm_pmu_get_counter_value(vcpu, select_idx); in kvm_pmu_set_counter_value()
370 static bool kvm_pmu_counter_is_enabled(struct kvm_vcpu *vcpu, u64 select_idx) in kvm_pmu_counter_is_enabled() argument
373 (__vcpu_sys_reg(vcpu, PMCNTENSET_EL0) & BIT(select_idx)); in kvm_pmu_counter_is_enabled()
387 u64 select_idx) in kvm_pmu_set_counter_event_type() argument
390 struct kvm_pmc *pmc = &pmu->pmc[select_idx]; in kvm_pmu_set_counter_event_type()
400 select_idx != ARMV8_PMU_CYCLE_IDX) in kvm_pmu_set_counter_event_type()
407 attr.disabled = !kvm_pmu_counter_is_enabled(vcpu, select_idx); in kvm_pmu_set_counter_event_type()
412 attr.config = (select_idx == ARMV8_PMU_CYCLE_IDX) ? in kvm_pmu_set_counter_event_type()
415 counter = kvm_pmu_get_counter_value(vcpu, select_idx); in kvm_pmu_set_counter_event_type()