Lines Matching refs:arch
25 switch (kvm->arch.pmuver) {
33 WARN_ONCE(1, "Unknown PMU version %d\n", kvm->arch.pmuver);
57 return container_of(vcpu_arch, struct kvm_vcpu, arch);
68 return test_bit(pmc->idx >> 1, vcpu->arch.pmu.chained);
166 struct kvm_pmu *pmu = &vcpu->arch.pmu;
252 struct kvm_pmu *pmu = &vcpu->arch.pmu;
266 struct kvm_pmu *pmu = &vcpu->arch.pmu;
272 bitmap_zero(vcpu->arch.pmu.chained, ARMV8_PMU_MAX_COUNTER_PAIRS);
283 struct kvm_pmu *pmu = &vcpu->arch.pmu;
287 irq_work_sync(&vcpu->arch.pmu.overflow_work);
311 struct kvm_pmu *pmu = &vcpu->arch.pmu;
346 struct kvm_pmu *pmu = &vcpu->arch.pmu;
384 struct kvm_pmu *pmu = &vcpu->arch.pmu;
405 struct kvm_pmu *pmu = &vcpu->arch.pmu;
424 if (vcpu->arch.pmu.irq_level)
504 irq_work_queue(&vcpu->arch.pmu.overflow_work);
517 struct kvm_pmu *pmu = &vcpu->arch.pmu;
600 struct kvm_pmu *pmu = &vcpu->arch.pmu;
631 if (vcpu->kvm->arch.pmu_filter &&
632 !test_bit(eventsel, vcpu->kvm->arch.pmu_filter))
690 struct kvm_pmu *pmu = &vcpu->arch.pmu;
709 set_bit(pmc->idx >> 1, vcpu->arch.pmu.chained);
712 clear_bit(pmc->idx >> 1, vcpu->arch.pmu.chained);
790 unsigned long *bmap = vcpu->kvm->arch.pmu_filter;
833 if (!vcpu->arch.pmu.created)
842 int irq = vcpu->arch.pmu.irq_num;
859 vcpu->arch.pmu.ready = true;
880 ret = kvm_vgic_set_owner(vcpu, vcpu->arch.pmu.irq_num,
881 &vcpu->arch.pmu);
886 init_irq_work(&vcpu->arch.pmu.overflow_work,
889 vcpu->arch.pmu.created = true;
908 if (vcpu->arch.pmu.irq_num != irq)
911 if (vcpu->arch.pmu.irq_num == irq)
922 !test_bit(KVM_ARM_VCPU_PMU_V3, vcpu->arch.features))
925 if (vcpu->arch.pmu.created)
928 if (!vcpu->kvm->arch.pmuver)
929 vcpu->kvm->arch.pmuver = kvm_pmu_probe_pmuver();
931 if (vcpu->kvm->arch.pmuver == 0xf)
956 vcpu->arch.pmu.irq_num = irq;
978 if (!vcpu->kvm->arch.pmu_filter) {
979 vcpu->kvm->arch.pmu_filter = bitmap_alloc(nr_events, GFP_KERNEL);
980 if (!vcpu->kvm->arch.pmu_filter) {
992 bitmap_zero(vcpu->kvm->arch.pmu_filter, nr_events);
994 bitmap_fill(vcpu->kvm->arch.pmu_filter, nr_events);
998 bitmap_set(vcpu->kvm->arch.pmu_filter, filter.base_event, filter.nevents);
1000 bitmap_clear(vcpu->kvm->arch.pmu_filter, filter.base_event, filter.nevents);
1023 if (!test_bit(KVM_ARM_VCPU_PMU_V3, vcpu->arch.features))
1029 irq = vcpu->arch.pmu.irq_num;
1044 test_bit(KVM_ARM_VCPU_PMU_V3, vcpu->arch.features))