Home
last modified time | relevance | path

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

/linux/drivers/hv/
H A Dmshv_eventfd.c81 struct mshv_irqfd *irqfd; in mshv_irqfd_resampler_ack() local
90 hlist_for_each_entry_srcu(irqfd, &resampler->rsmplr_irqfd_list, in mshv_irqfd_resampler_ack()
93 if (hv_should_clear_interrupt(irqfd->irqfd_lapic_irq.lapic_control.interrupt_type)) in mshv_irqfd_resampler_ack()
96 eventfd_signal(irqfd->irqfd_resamplefd); in mshv_irqfd_resampler_ack()
154 static int mshv_try_assert_irq_fast(struct mshv_irqfd *irqfd) in mshv_try_assert_irq_fast() argument
156 struct mshv_partition *partition = irqfd->irqfd_partn; in mshv_try_assert_irq_fast()
157 struct mshv_lapic_irq *irq = &irqfd->irqfd_lapic_irq; in mshv_try_assert_irq_fast()
196 static int mshv_try_assert_irq_fast(struct mshv_irqfd *irqfd) in mshv_try_assert_irq_fast() argument
202 static void mshv_assert_irq_slow(struct mshv_irqfd *irqfd) in mshv_assert_irq_slow() argument
204 struct mshv_partition *partition = irqfd->irqfd_partn; in mshv_assert_irq_slow()
[all …]
/linux/virt/kvm/
H A Deventfd.c45 struct kvm_kernel_irqfd *irqfd = in irqfd_inject() local
47 struct kvm *kvm = irqfd->kvm; in irqfd_inject()
49 if (!irqfd->resampler) { in irqfd_inject()
50 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, in irqfd_inject()
52 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, in irqfd_inject()
56 irqfd->gsi, 1, false); in irqfd_inject()
61 struct kvm_kernel_irqfd *irqfd; in irqfd_resampler_notify() local
63 list_for_each_entry_srcu(irqfd, &resampler->list, resampler_link, in irqfd_resampler_notify()
65 eventfd_signal(irqfd->resamplefd); in irqfd_resampler_notify()
93 irqfd_resampler_shutdown(struct kvm_kernel_irqfd *irqfd) in irqfd_resampler_shutdown() argument
[all …]
/linux/arch/um/drivers/
H A Dvfio_user.c150 static int vfio_set_irqs(int device, int start, int count, int *irqfd) in vfio_set_irqs() argument
153 int argsz = sizeof(*irq_set) + sizeof(*irqfd) * count; in vfio_set_irqs()
165 memcpy(irq_set->data, irqfd, sizeof(*irqfd) * count); in vfio_set_irqs()
226 dev->irqfd = uml_kmalloc(sizeof(int) * dev->irq_count, UM_GFP_KERNEL); in uml_vfio_user_setup_device()
227 if (!dev->irqfd) { in uml_vfio_user_setup_device()
232 memset(dev->irqfd, -1, sizeof(int) * dev->irq_count); in uml_vfio_user_setup_device()
234 err = vfio_set_irqs(dev->device, 0, dev->irq_count, dev->irqfd); in uml_vfio_user_setup_device()
241 kfree(dev->irqfd); in uml_vfio_user_setup_device()
251 kfree(dev->irqfd); in uml_vfio_user_teardown_device()
258 int irqfd; in uml_vfio_user_activate_irq() local
[all …]
H A Dvfio_kern.c165 int irqfd = dev->udev.irqfd[index]; in uml_vfio_interrupt() local
171 r = os_read_file(irqfd, &v, sizeof(v)); in uml_vfio_interrupt()
183 int err, irqfd; in uml_vfio_activate_irq() local
188 irqfd = uml_vfio_user_activate_irq(&dev->udev, index); in uml_vfio_activate_irq()
189 if (irqfd < 0) in uml_vfio_activate_irq()
190 return irqfd; in uml_vfio_activate_irq()
192 ctx->irq = um_request_irq(UM_IRQ_ALLOC, irqfd, IRQ_READ, in uml_vfio_activate_irq()
200 err = add_sigio_fd(irqfd); in uml_vfio_activate_irq()
219 ignore_sigio_fd(dev->udev.irqfd[index]); in uml_vfio_deactivate_irq()
H A Dvfio_user.h14 int32_t *irqfd; member
/linux/drivers/vfio/
H A Dvirqfd.c135 CLASS(fd, irqfd)(fd); in vfio_virqfd_enable()
136 if (fd_empty(irqfd)) { in vfio_virqfd_enable()
141 ctx = eventfd_ctx_fileget(fd_file(irqfd)); in vfio_virqfd_enable()
173 events = vfs_poll(fd_file(irqfd), &virqfd->pt); in vfio_virqfd_enable()
/linux/drivers/virt/acrn/
H A DMakefile3 acrn-y := hsm.o vm.o mm.o ioreq.o ioeventfd.o irqfd.o
/linux/arch/x86/kvm/vmx/
H A Dposted_intr.h17 int vmx_pi_update_irte(struct kvm_kernel_irqfd *irqfd, struct kvm *kvm,
H A Dposted_intr.c305 int vmx_pi_update_irte(struct kvm_kernel_irqfd *irqfd, struct kvm *kvm, in vmx_pi_update_irte() argument
/linux/arch/loongarch/kvm/
H A DMakefile24 kvm-y += irqfd.o
/linux/tools/testing/selftests/kvm/include/
H A Dkvm_util.h542 struct kvm_irqfd irqfd = { in __kvm_irqfd() local
549 return __vm_ioctl(vm, KVM_IRQFD, &irqfd); in __kvm_irqfd()
/linux/Documentation/virt/kvm/devices/
H A Ds390_flic.rst119 will use the non-atomic irqfd path with short-term pinning on each