Home
last modified time | relevance | path

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

/linux-6.3-rc2/drivers/virt/acrn/
A Dirqfd.c46 irqfd->msi.msi_data); in acrn_irqfd_inject()
57 eventfd_ctx_remove_wait_queue(irqfd->eventfd, &irqfd->wait, &cnt); in hsm_irqfd_shutdown()
59 kfree(irqfd); in hsm_irqfd_shutdown()
64 struct hsm_irqfd *irqfd; in hsm_irqfd_shutdown_work() local
68 vm = irqfd->vm; in hsm_irqfd_shutdown_work()
80 struct hsm_irqfd *irqfd; in hsm_irqfd_wakeup() local
84 vm = irqfd->vm; in hsm_irqfd_wakeup()
118 irqfd = kzalloc(sizeof(*irqfd), GFP_KERNEL); in acrn_irqfd_assign()
119 if (!irqfd) in acrn_irqfd_assign()
122 irqfd->vm = vm; in acrn_irqfd_assign()
[all …]
A DMakefile3 acrn-y := hsm.o vm.o mm.o ioreq.o ioeventfd.o irqfd.o
A Dhsm.c120 struct acrn_irqfd irqfd; in acrn_dev_ioctl() local
412 if (copy_from_user(&irqfd, (void __user *)ioctl_param, in acrn_dev_ioctl()
413 sizeof(irqfd))) in acrn_dev_ioctl()
415 ret = acrn_irqfd_config(vm, &irqfd); in acrn_dev_ioctl()
/linux-6.3-rc2/virt/kvm/
A Deventfd.c48 if (!irqfd->resampler) { in irqfd_inject()
127 eventfd_ctx_remove_wait_queue(irqfd->eventfd, &irqfd->wait, &cnt); in irqfd_shutdown()
147 kfree(irqfd); in irqfd_shutdown()
310 irqfd = kzalloc(sizeof(*irqfd), GFP_KERNEL_ACCOUNT); in kvm_irqfd_assign()
311 if (!irqfd) in kvm_irqfd_assign()
314 irqfd->kvm = kvm; in kvm_irqfd_assign()
378 list_add_rcu(&irqfd->resampler_link, &irqfd->resampler->list); in kvm_irqfd_assign()
421 irqfd->consumer.token = (void *)irqfd->eventfd; in kvm_irqfd_assign()
455 kfree(irqfd); in kvm_irqfd_assign()
552 if (irqfd->eventfd == eventfd && irqfd->gsi == args->gsi) { in kvm_irqfd_deassign()
[all …]
/linux-6.3-rc2/drivers/vfio/
A 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-6.3-rc2/arch/arm64/kvm/
A Darm.c2169 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
2172 return kvm_vgic_v4_set_forwarding(irqfd->kvm, prod->irq, in kvm_arch_irq_bypass_add_producer()
2173 &irqfd->irq_entry); in kvm_arch_irq_bypass_add_producer()
2178 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
2181 kvm_vgic_v4_unset_forwarding(irqfd->kvm, prod->irq, in kvm_arch_irq_bypass_del_producer()
2182 &irqfd->irq_entry); in kvm_arch_irq_bypass_del_producer()
2187 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_stop() local
2190 kvm_arm_halt_guest(irqfd->kvm); in kvm_arch_irq_bypass_stop()
2195 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_start() local
2198 kvm_arm_resume_guest(irqfd->kvm); in kvm_arch_irq_bypass_start()
A DMakefile19 vgic/vgic-irqfd.o vgic/vgic-v2.o \
/linux-6.3-rc2/tools/testing/selftests/kvm/aarch64/
A Dvgic_irq.c637 struct kvm_irqfd irqfd = { in kvm_routing_and_irqfd_check() local
642 vm_ioctl(vm, KVM_IRQFD, &irqfd); in kvm_routing_and_irqfd_check()
/linux-6.3-rc2/arch/powerpc/kvm/
A Dbook3s_hv.c5748 struct kvm_kernel_irqfd *irqfd = in kvmppc_irq_bypass_add_producer_hv() local
5751 irqfd->producer = prod; in kvmppc_irq_bypass_add_producer_hv()
5753 ret = kvmppc_set_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); in kvmppc_irq_bypass_add_producer_hv()
5756 prod->irq, irqfd->gsi, ret); in kvmppc_irq_bypass_add_producer_hv()
5765 struct kvm_kernel_irqfd *irqfd = in kvmppc_irq_bypass_del_producer_hv() local
5768 irqfd->producer = NULL; in kvmppc_irq_bypass_del_producer_hv()
5775 ret = kvmppc_clr_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); in kvmppc_irq_bypass_del_producer_hv()
5778 prod->irq, irqfd->gsi, ret); in kvmppc_irq_bypass_del_producer_hv()
A Dpowerpc.c865 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
867 struct kvm *kvm = irqfd->kvm; in kvm_arch_irq_bypass_add_producer()
878 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
880 struct kvm *kvm = irqfd->kvm; in kvm_arch_irq_bypass_del_producer()
/linux-6.3-rc2/arch/x86/kvm/
A Dx86.c13094 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_add_producer() local
13098 irqfd->producer = prod; in kvm_arch_irq_bypass_add_producer()
13099 kvm_arch_start_assignment(irqfd->kvm); in kvm_arch_irq_bypass_add_producer()
13101 prod->irq, irqfd->gsi, 1); in kvm_arch_irq_bypass_add_producer()
13104 kvm_arch_end_assignment(irqfd->kvm); in kvm_arch_irq_bypass_add_producer()
13113 struct kvm_kernel_irqfd *irqfd = in kvm_arch_irq_bypass_del_producer() local
13116 WARN_ON(irqfd->producer != prod); in kvm_arch_irq_bypass_del_producer()
13117 irqfd->producer = NULL; in kvm_arch_irq_bypass_del_producer()
13125 ret = static_call(kvm_x86_pi_update_irte)(irqfd->kvm, prod->irq, irqfd->gsi, 0); in kvm_arch_irq_bypass_del_producer()
13128 " fails: %d\n", irqfd->consumer.token, ret); in kvm_arch_irq_bypass_del_producer()
[all …]
/linux-6.3-rc2/Documentation/virt/kvm/
A Dapi.rst3100 the guest using the specified gsi pin. The irqfd is removed using
3105 mechanism allowing emulation of level-triggered, irqfd-based
3114 irqfd. The KVM_IRQFD_FLAG_RESAMPLE is only necessary on assignment

Completed in 61 milliseconds