Home
last modified time | relevance | path

Searched refs:irqfd (Results 1 – 9 of 9) sorted by relevance

/Linux-v5.4/virt/kvm/
Deventfd.c44 struct kvm_kernel_irqfd *irqfd = in irqfd_inject() local
46 struct kvm *kvm = irqfd->kvm; in irqfd_inject()
48 if (!irqfd->resampler) { in irqfd_inject()
49 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
51 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
55 irqfd->gsi, 1, false); in irqfd_inject()
68 struct kvm_kernel_irqfd *irqfd; in irqfd_resampler_ack() local
80 list_for_each_entry_rcu(irqfd, &resampler->list, resampler_link) in irqfd_resampler_ack()
81 eventfd_signal(irqfd->resamplefd, 1); in irqfd_resampler_ack()
87 irqfd_resampler_shutdown(struct kvm_kernel_irqfd *irqfd) in irqfd_resampler_shutdown() argument
[all …]
/Linux-v5.4/drivers/vfio/
Dvirqfd.c109 struct fd irqfd; in vfio_virqfd_enable() local
128 irqfd = fdget(fd); in vfio_virqfd_enable()
129 if (!irqfd.file) { in vfio_virqfd_enable()
134 ctx = eventfd_ctx_fileget(irqfd.file); in vfio_virqfd_enable()
166 events = vfs_poll(irqfd.file, &virqfd->pt); in vfio_virqfd_enable()
181 fdput(irqfd); in vfio_virqfd_enable()
187 fdput(irqfd); in vfio_virqfd_enable()
/Linux-v5.4/virt/kvm/arm/
Darm.c1630 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
1633 return kvm_vgic_v4_set_forwarding(irqfd->kvm, prod->irq, in kvm_arch_irq_bypass_add_producer()
1634 &irqfd->irq_entry); in kvm_arch_irq_bypass_add_producer()
1639 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
1642 kvm_vgic_v4_unset_forwarding(irqfd->kvm, prod->irq, in kvm_arch_irq_bypass_del_producer()
1643 &irqfd->irq_entry); in kvm_arch_irq_bypass_del_producer()
1648 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_stop() local
1651 kvm_arm_halt_guest(irqfd->kvm); in kvm_arch_irq_bypass_stop()
1656 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_start() local
1659 kvm_arm_resume_guest(irqfd->kvm); in kvm_arch_irq_bypass_start()
/Linux-v5.4/arch/arm/kvm/
DMakefile32 obj-y += $(KVM)/arm/vgic/vgic-irqfd.o
/Linux-v5.4/arch/arm64/kvm/
DMakefile25 kvm-$(CONFIG_KVM_ARM_HOST) += $(KVM)/arm/vgic/vgic-irqfd.o
/Linux-v5.4/arch/powerpc/kvm/
Dbook3s_hv.c5145 struct kvm_kernel_irqfd *irqfd = in kvmppc_irq_bypass_add_producer_hv() local
5148 irqfd->producer = prod; in kvmppc_irq_bypass_add_producer_hv()
5150 ret = kvmppc_set_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); in kvmppc_irq_bypass_add_producer_hv()
5153 prod->irq, irqfd->gsi, ret); in kvmppc_irq_bypass_add_producer_hv()
5162 struct kvm_kernel_irqfd *irqfd = in kvmppc_irq_bypass_del_producer_hv() local
5165 irqfd->producer = NULL; in kvmppc_irq_bypass_del_producer_hv()
5172 ret = kvmppc_clr_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); in kvmppc_irq_bypass_del_producer_hv()
5175 prod->irq, irqfd->gsi, ret); in kvmppc_irq_bypass_del_producer_hv()
Dpowerpc.c838 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
840 struct kvm *kvm = irqfd->kvm; in kvm_arch_irq_bypass_add_producer()
851 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
853 struct kvm *kvm = irqfd->kvm; in kvm_arch_irq_bypass_del_producer()
/Linux-v5.4/arch/x86/kvm/
Dx86.c10198 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
10201 irqfd->producer = prod; in kvm_arch_irq_bypass_add_producer()
10203 return kvm_x86_ops->update_pi_irte(irqfd->kvm, in kvm_arch_irq_bypass_add_producer()
10204 prod->irq, irqfd->gsi, 1); in kvm_arch_irq_bypass_add_producer()
10211 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
10214 WARN_ON(irqfd->producer != prod); in kvm_arch_irq_bypass_del_producer()
10215 irqfd->producer = NULL; in kvm_arch_irq_bypass_del_producer()
10223 ret = kvm_x86_ops->update_pi_irte(irqfd->kvm, prod->irq, irqfd->gsi, 0); in kvm_arch_irq_bypass_del_producer()
10226 " fails: %d\n", irqfd->consumer.token, ret); in kvm_arch_irq_bypass_del_producer()
/Linux-v5.4/Documentation/virt/kvm/
Dapi.txt2521 the guest using the specified gsi pin. The irqfd is removed using
2526 mechanism allowing emulation of level-triggered, irqfd-based
2535 irqfd. The KVM_IRQFD_FLAG_RESAMPLE is only necessary on assignment