Lines Matching defs:kvm

126 		struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, i);
154 vgic_put_irq(vcpu->kvm, irq);
163 struct vgic_irq *irq = vgic_get_irq(vcpu->kvm, vcpu, i);
183 vgic_put_irq(vcpu->kvm, irq);
187 void vgic_v4_configure_vsgis(struct kvm *kvm)
189 struct vgic_dist *dist = &kvm->arch.vgic;
193 lockdep_assert_held(&kvm->arch.config_lock);
195 kvm_arm_halt_guest(kvm);
197 kvm_for_each_vcpu(i, vcpu, kvm) {
204 kvm_arm_resume_guest(kvm);
233 * @kvm: Pointer to the VM being initialized
239 int vgic_v4_init(struct kvm *kvm)
241 struct vgic_dist *dist = &kvm->arch.vgic;
246 lockdep_assert_held(&kvm->arch.config_lock);
254 nr_vcpus = atomic_read(&kvm->online_vcpus);
263 kvm_for_each_vcpu(i, vcpu, kvm)
275 kvm_for_each_vcpu(i, vcpu, kvm) {
306 vgic_v4_teardown(kvm);
313 * @kvm: Pointer to the VM being destroyed
315 void vgic_v4_teardown(struct kvm *kvm)
317 struct its_vm *its_vm = &kvm->arch.vgic.its_vm;
320 lockdep_assert_held(&kvm->arch.config_lock);
326 struct kvm_vcpu *vcpu = kvm_get_vcpu(kvm, i);
343 if (!vgic_supports_direct_msis(vcpu->kvm) || !vpe->resident)
354 if (!vgic_supports_direct_msis(vcpu->kvm) || vpe->resident)
370 err = its_make_vpe_resident(vpe, false, vcpu->kvm->arch.vgic.enabled);
397 static struct vgic_its *vgic_get_its(struct kvm *kvm,
408 return vgic_msi_to_its(kvm, &msi);
411 int kvm_vgic_v4_set_forwarding(struct kvm *kvm, int virq,
420 if (!vgic_supports_direct_msis(kvm))
427 its = vgic_get_its(kvm, irq_entry);
434 ret = vgic_its_resolve_lpi(kvm, its, irq_entry->msi.devid,
450 .vm = &kvm->arch.vgic.its_vm,
480 vgic_queue_irq_unlock(kvm, irq, flags);
490 int kvm_vgic_v4_unset_forwarding(struct kvm *kvm, int virq,
497 if (!vgic_supports_direct_msis(kvm))
504 its = vgic_get_its(kvm, irq_entry);
510 ret = vgic_its_resolve_lpi(kvm, its, irq_entry->msi.devid,