| /linux/drivers/hv/ |
| H A D | mshv_eventfd.c | 81 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 D | eventfd.c | 45 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 D | vfio_user.c | 150 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 D | vfio_kern.c | 165 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 D | vfio_user.h | 14 int32_t *irqfd; member
|
| /linux/drivers/vfio/ |
| H A D | virqfd.c | 135 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 D | Makefile | 3 acrn-y := hsm.o vm.o mm.o ioreq.o ioeventfd.o irqfd.o
|
| /linux/arch/x86/kvm/vmx/ |
| H A D | posted_intr.h | 17 int vmx_pi_update_irte(struct kvm_kernel_irqfd *irqfd, struct kvm *kvm,
|
| H A D | posted_intr.c | 305 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 D | Makefile | 24 kvm-y += irqfd.o
|
| /linux/tools/testing/selftests/kvm/include/ |
| H A D | kvm_util.h | 542 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 D | s390_flic.rst | 119 will use the non-atomic irqfd path with short-term pinning on each
|