Lines Matching defs:kvm

8 #include <linux/kvm.h>
14 #include <kvm/arm_pmu.h>
15 #include <kvm/arm_vgic.h>
23 static u32 kvm_pmu_event_mask(struct kvm *kvm)
25 switch (kvm->arch.pmuver) {
33 WARN_ONCE(1, "Unknown PMU version %d\n", kvm->arch.pmuver);
118 eventsel = __vcpu_sys_reg(vcpu, reg) & kvm_pmu_event_mask(vcpu->kvm);
396 if (likely(irqchip_in_kernel(vcpu->kvm))) {
397 int ret = kvm_vgic_inject_irq(vcpu->kvm, vcpu->vcpu_id,
409 if (likely(irqchip_in_kernel(vcpu->kvm)))
534 type &= kvm_pmu_event_mask(vcpu->kvm);
621 eventsel = data & kvm_pmu_event_mask(vcpu->kvm);
631 if (vcpu->kvm->arch.pmu_filter &&
632 !test_bit(eventsel, vcpu->kvm->arch.pmu_filter))
672 pr_err_once("kvm: pmu event creation failed %ld\n",
732 mask |= kvm_pmu_event_mask(vcpu->kvm);
771 pr_err_once("kvm: pmu event creation failed %ld\n",
790 unsigned long *bmap = vcpu->kvm->arch.pmu_filter;
805 nr_events = kvm_pmu_event_mask(vcpu->kvm) + 1;
841 if (irqchip_in_kernel(vcpu->kvm)) {
852 if (!irq_is_ppi(irq) && !vgic_valid_spi(vcpu->kvm, irq))
866 if (irqchip_in_kernel(vcpu->kvm)) {
874 if (!vgic_initialized(vcpu->kvm))
898 static bool pmu_irq_is_valid(struct kvm *kvm, int irq)
903 kvm_for_each_vcpu(i, vcpu, kvm) {
928 if (!vcpu->kvm->arch.pmuver)
929 vcpu->kvm->arch.pmuver = kvm_pmu_probe_pmuver();
931 if (vcpu->kvm->arch.pmuver == 0xf)
939 if (!irqchip_in_kernel(vcpu->kvm))
949 if (!pmu_irq_is_valid(vcpu->kvm, irq))
955 kvm_debug("Set kvm ARM PMU irq: %d\n", irq);
964 nr_events = kvm_pmu_event_mask(vcpu->kvm) + 1;
976 mutex_lock(&vcpu->kvm->lock);
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) {
981 mutex_unlock(&vcpu->kvm->lock);
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);
1002 mutex_unlock(&vcpu->kvm->lock);
1020 if (!irqchip_in_kernel(vcpu->kvm))