Lines Matching refs:kvm
58 static struct vgic_irq *vgic_get_lpi(struct kvm *kvm, u32 intid) in vgic_get_lpi() argument
60 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_get_lpi()
90 struct vgic_irq *vgic_get_irq(struct kvm *kvm, struct kvm_vcpu *vcpu, in vgic_get_irq() argument
100 if (intid < (kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS)) { in vgic_get_irq()
101 intid = array_index_nospec(intid, kvm->arch.vgic.nr_spis + VGIC_NR_PRIVATE_IRQS); in vgic_get_irq()
102 return &kvm->arch.vgic.spis[intid - VGIC_NR_PRIVATE_IRQS]; in vgic_get_irq()
107 return vgic_get_lpi(kvm, intid); in vgic_get_irq()
125 void __vgic_put_lpi_locked(struct kvm *kvm, struct vgic_irq *irq) in __vgic_put_lpi_locked() argument
127 struct vgic_dist *dist = &kvm->arch.vgic; in __vgic_put_lpi_locked()
138 void vgic_put_irq(struct kvm *kvm, struct vgic_irq *irq) in vgic_put_irq() argument
140 struct vgic_dist *dist = &kvm->arch.vgic; in vgic_put_irq()
147 __vgic_put_lpi_locked(kvm, irq); in vgic_put_irq()
165 vgic_put_irq(vcpu->kvm, irq); in vgic_flush_pending_lpis()
231 !irq->target_vcpu->kvm->arch.vgic.enabled)) in vgic_target_oracle()
334 bool vgic_queue_irq_unlock(struct kvm *kvm, struct vgic_irq *irq, in vgic_queue_irq_unlock() argument
437 int kvm_vgic_inject_irq(struct kvm *kvm, int cpuid, unsigned int intid, in kvm_vgic_inject_irq() argument
447 ret = vgic_lazy_init(kvm); in kvm_vgic_inject_irq()
451 vcpu = kvm_get_vcpu(kvm, cpuid); in kvm_vgic_inject_irq()
455 irq = vgic_get_irq(kvm, vcpu, intid); in kvm_vgic_inject_irq()
464 vgic_put_irq(kvm, irq); in kvm_vgic_inject_irq()
473 vgic_queue_irq_unlock(kvm, irq, flags); in kvm_vgic_inject_irq()
474 vgic_put_irq(kvm, irq); in kvm_vgic_inject_irq()
517 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, vintid); in kvm_vgic_map_phys_irq()
526 vgic_put_irq(vcpu->kvm, irq); in kvm_vgic_map_phys_irq()
542 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, vintid); in kvm_vgic_reset_mapped_irq()
554 vgic_put_irq(vcpu->kvm, irq); in kvm_vgic_reset_mapped_irq()
562 if (!vgic_initialized(vcpu->kvm)) in kvm_vgic_unmap_phys_irq()
565 irq = vgic_get_irq(vcpu->kvm, vcpu, vintid); in kvm_vgic_unmap_phys_irq()
571 vgic_put_irq(vcpu->kvm, irq); in kvm_vgic_unmap_phys_irq()
592 if (!vgic_initialized(vcpu->kvm)) in kvm_vgic_set_owner()
596 if (!irq_is_ppi(intid) && !vgic_valid_spi(vcpu->kvm, intid)) in kvm_vgic_set_owner()
599 irq = vgic_get_irq(vcpu->kvm, vcpu, intid); in kvm_vgic_set_owner()
654 vgic_put_irq(vcpu->kvm, irq); in vgic_prune_ap_list()
900 !vgic_supports_direct_msis(vcpu->kvm)) in kvm_vgic_flush_hwstate()
917 if (unlikely(!vgic_initialized(vcpu->kvm))) in kvm_vgic_load()
928 if (unlikely(!vgic_initialized(vcpu->kvm))) in kvm_vgic_put()
939 if (unlikely(!irqchip_in_kernel(vcpu->kvm))) in kvm_vgic_vmcr_sync()
956 if (!vcpu->kvm->arch.vgic.enabled) in kvm_vgic_vcpu_pending_irq()
982 void vgic_kick_vcpus(struct kvm *kvm) in vgic_kick_vcpus() argument
991 kvm_for_each_vcpu(c, vcpu, kvm) { in vgic_kick_vcpus()
1005 if (!vgic_initialized(vcpu->kvm)) in kvm_vgic_map_is_active()
1008 irq = vgic_get_irq(vcpu->kvm, vcpu, vintid); in kvm_vgic_map_is_active()
1012 vgic_put_irq(vcpu->kvm, irq); in kvm_vgic_map_is_active()