/linux-master/drivers/virt/acrn/ |
H A D | irqfd.c | 3 * ACRN HSM irqfd: use eventfd objects to inject virtual interrupts 22 * struct hsm_irqfd - Properties of HSM irqfd 41 static void acrn_irqfd_inject(struct hsm_irqfd *irqfd) argument 43 struct acrn_vm *vm = irqfd->vm; 45 acrn_msi_inject(vm, irqfd->msi.msi_addr, 46 irqfd->msi.msi_data); 49 static void hsm_irqfd_shutdown(struct hsm_irqfd *irqfd) argument 53 lockdep_assert_held(&irqfd->vm->irqfds_lock); 56 list_del_init(&irqfd->list); 57 eventfd_ctx_remove_wait_queue(irqfd 64 struct hsm_irqfd *irqfd; local 80 struct hsm_irqfd *irqfd; local 99 struct hsm_irqfd *irqfd; local 113 struct hsm_irqfd *irqfd, *tmp; local 180 struct hsm_irqfd *irqfd, *tmp; local 226 struct hsm_irqfd *irqfd, *next; local [all...] |
H A D | Makefile | 3 acrn-y := hsm.o vm.o mm.o ioreq.o ioeventfd.o irqfd.o
|
H A D | hsm.c | 120 struct acrn_irqfd irqfd; local 412 if (copy_from_user(&irqfd, (void __user *)ioctl_param, 413 sizeof(irqfd))) 415 ret = acrn_irqfd_config(vm, &irqfd);
|
/linux-master/virt/kvm/ |
H A D | eventfd.c | 44 struct kvm_kernel_irqfd *irqfd = local 46 struct kvm *kvm = irqfd->kvm; 48 if (!irqfd->resampler) { 49 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, 51 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, 55 irqfd->gsi, 1, false); 60 struct kvm_kernel_irqfd *irqfd; local 62 list_for_each_entry_srcu(irqfd, &resampler->list, resampler_link, 64 eventfd_signal(irqfd->resamplefd); 92 irqfd_resampler_shutdown(struct kvm_kernel_irqfd *irqfd) argument 123 struct kvm_kernel_irqfd *irqfd = local 161 irqfd_is_active(struct kvm_kernel_irqfd *irqfd) argument 172 irqfd_deactivate(struct kvm_kernel_irqfd *irqfd) argument 196 struct kvm_kernel_irqfd *irqfd = local 251 struct kvm_kernel_irqfd *irqfd = local 257 irqfd_update(struct kvm *kvm, struct kvm_kernel_irqfd *irqfd) argument 305 struct kvm_kernel_irqfd *irqfd, *tmp; local 536 struct kvm_kernel_irqfd *irqfd, *tmp; local 592 struct kvm_kernel_irqfd *irqfd, *tmp; local 615 struct kvm_kernel_irqfd *irqfd; local [all...] |
/linux-master/drivers/vfio/ |
H A D | virqfd.c | 23 create_singlethread_workqueue("vfio-irqfd-cleanup"); 116 struct fd irqfd; local 136 irqfd = fdget(fd); 137 if (!irqfd.file) { 142 ctx = eventfd_ctx_fileget(irqfd.file); 174 events = vfs_poll(irqfd.file, &virqfd->pt); 186 * Do not drop the file until the irqfd is fully initialized, 189 fdput(irqfd); 195 fdput(irqfd);
|
/linux-master/drivers/xen/ |
H A D | privcmd.c | 929 static int privcmd_irqfd_assign(struct privcmd_irqfd *irqfd) argument 937 kirqfd = kzalloc(sizeof(*kirqfd) + irqfd->size, GFP_KERNEL); 942 if (copy_from_user(dm_op, u64_to_user_ptr(irqfd->dm_op), irqfd->size)) { 947 kirqfd->xbufs.size = irqfd->size; 949 kirqfd->dom = irqfd->dom; 952 f = fdget(irqfd->fd); 1010 static int privcmd_irqfd_deassign(struct privcmd_irqfd *irqfd) argument 1015 eventfd = eventfd_ctx_fdget(irqfd->fd); 1045 struct privcmd_irqfd irqfd; local [all...] |
/linux-master/arch/arm64/kvm/ |
H A D | Makefile | 19 vgic/vgic-irqfd.o vgic/vgic-v2.o \
|
H A D | arm.c | 2509 struct kvm_kernel_irqfd *irqfd = local 2512 return kvm_vgic_v4_set_forwarding(irqfd->kvm, prod->irq, 2513 &irqfd->irq_entry); 2518 struct kvm_kernel_irqfd *irqfd = local 2521 kvm_vgic_v4_unset_forwarding(irqfd->kvm, prod->irq, 2522 &irqfd->irq_entry); 2527 struct kvm_kernel_irqfd *irqfd = local 2530 kvm_arm_halt_guest(irqfd->kvm); 2535 struct kvm_kernel_irqfd *irqfd = local 2538 kvm_arm_resume_guest(irqfd [all...] |
/linux-master/tools/testing/selftests/kvm/aarch64/ |
H A D | vgic_irq.c | 636 struct kvm_irqfd irqfd = { local 641 vm_ioctl(vm, KVM_IRQFD, &irqfd);
|
/linux-master/arch/powerpc/kvm/ |
H A D | book3s_hv.c | 5945 struct kvm_kernel_irqfd *irqfd = local 5948 irqfd->producer = prod; 5950 ret = kvmppc_set_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); 5953 prod->irq, irqfd->gsi, ret); 5962 struct kvm_kernel_irqfd *irqfd = local 5965 irqfd->producer = NULL; 5972 ret = kvmppc_clr_passthru_irq(irqfd->kvm, prod->irq, irqfd->gsi); 5975 prod->irq, irqfd [all...] |
H A D | powerpc.c | 867 struct kvm_kernel_irqfd *irqfd = local 869 struct kvm *kvm = irqfd->kvm; 880 struct kvm_kernel_irqfd *irqfd = local 882 struct kvm *kvm = irqfd->kvm;
|
/linux-master/arch/x86/kvm/ |
H A D | x86.c | 12551 /* Reserve bit 1 of irq_sources_bitmap for irqfd-resampler */ 13469 struct kvm_kernel_irqfd *irqfd = local 13473 irqfd->producer = prod; 13474 kvm_arch_start_assignment(irqfd->kvm); 13475 ret = static_call(kvm_x86_pi_update_irte)(irqfd->kvm, 13476 prod->irq, irqfd->gsi, 1); 13479 kvm_arch_end_assignment(irqfd->kvm); 13488 struct kvm_kernel_irqfd *irqfd = local 13491 WARN_ON(irqfd->producer != prod); 13492 irqfd [all...] |