/openbmc/linux/drivers/vfio/pci/ |
H A D | vfio_pci_rdwr.c | 367 ioeventfd->data, ioeventfd->addr); in vfio_pci_ioeventfd_do_write() 371 ioeventfd->data, ioeventfd->addr); in vfio_pci_ioeventfd_do_write() 375 ioeventfd->data, ioeventfd->addr); in vfio_pci_ioeventfd_do_write() 380 ioeventfd->data, ioeventfd->addr); in vfio_pci_ioeventfd_do_write() 412 vfio_pci_ioeventfd_do_write(ioeventfd, ioeventfd->test_mem); in vfio_pci_ioeventfd_thread() 448 if (ioeventfd->pos == pos && ioeventfd->bar == bar && in vfio_pci_ioeventfd() 449 ioeventfd->data == data && ioeventfd->count == count) { in vfio_pci_ioeventfd() 454 kfree(ioeventfd); in vfio_pci_ioeventfd() 473 ioeventfd = kzalloc(sizeof(*ioeventfd), GFP_KERNEL_ACCOUNT); in vfio_pci_ioeventfd() 474 if (!ioeventfd) { in vfio_pci_ioeventfd() [all …]
|
H A D | vfio_pci_core.c | 565 struct vfio_pci_ioeventfd *ioeventfd, *ioeventfd_tmp; in vfio_pci_core_disable() local 602 list_for_each_entry_safe(ioeventfd, ioeventfd_tmp, in vfio_pci_core_disable() 604 vfio_virqfd_disable(&ioeventfd->virqfd); in vfio_pci_core_disable() 605 list_del(&ioeventfd->next); in vfio_pci_core_disable() 606 kfree(ioeventfd); in vfio_pci_core_disable() 1439 struct vfio_device_ioeventfd ioeventfd; in vfio_pci_ioctl_ioeventfd() local 1442 if (copy_from_user(&ioeventfd, arg, minsz)) in vfio_pci_ioctl_ioeventfd() 1445 if (ioeventfd.argsz < minsz) in vfio_pci_ioctl_ioeventfd() 1453 if (hweight8(count) != 1 || ioeventfd.fd < -1) in vfio_pci_ioctl_ioeventfd() 1456 return vfio_pci_ioeventfd(vdev, ioeventfd.offset, ioeventfd.data, count, in vfio_pci_ioctl_ioeventfd() [all …]
|
/openbmc/qemu/hw/vfio/ |
H A D | pci-quirks.c | 292 memory_region_del_eventfd(ioeventfd->mr, ioeventfd->addr, ioeventfd->size, in vfio_ioeventfd_exit() 293 true, ioeventfd->data, &ioeventfd->e); in vfio_ioeventfd_exit() 309 ioeventfd->size, ioeventfd->data); in vfio_ioeventfd_exit() 318 (uint64_t)ioeventfd->addr, ioeventfd->size, in vfio_ioeventfd_exit() 320 g_free(ioeventfd); in vfio_ioeventfd_exit() 339 vfio_region_write(ioeventfd->region, ioeventfd->region_addr, in vfio_ioeventfd_handler() 340 ioeventfd->data, ioeventfd->size); in vfio_ioeventfd_handler() 359 ioeventfd = g_malloc0(sizeof(*ioeventfd)); in vfio_ioeventfd_init() 401 memory_region_add_eventfd(ioeventfd->mr, ioeventfd->addr, ioeventfd->size, in vfio_ioeventfd_init() 402 true, ioeventfd->data, &ioeventfd->e); in vfio_ioeventfd_init() [all …]
|
/openbmc/linux/drivers/virt/acrn/ |
H A D | ioeventfd.c | 53 struct hsm_ioeventfd *ioeventfd) in hsm_ioeventfd_is_conflict() argument 61 if (p->eventfd == ioeventfd->eventfd && in hsm_ioeventfd_is_conflict() 62 p->addr == ioeventfd->addr && in hsm_ioeventfd_is_conflict() 63 p->type == ioeventfd->type && in hsm_ioeventfd_is_conflict() 64 (p->wildcard || ioeventfd->wildcard || in hsm_ioeventfd_is_conflict() 65 p->data == ioeventfd->data)) in hsm_ioeventfd_is_conflict()
|
H A D | hsm.c | 115 struct acrn_ioeventfd ioeventfd; in acrn_dev_ioctl() local 402 if (copy_from_user(&ioeventfd, (void __user *)ioctl_param, in acrn_dev_ioctl() 403 sizeof(ioeventfd))) in acrn_dev_ioctl() 406 if (ioeventfd.reserved != 0) in acrn_dev_ioctl() 409 ret = acrn_ioeventfd_config(vm, &ioeventfd); in acrn_dev_ioctl()
|
H A D | Makefile | 3 acrn-y := hsm.o vm.o mm.o ioreq.o ioeventfd.o irqfd.o
|
/openbmc/qemu/docs/ |
H A D | qdev-device-use.txt | 115 -device virtio-blk-pci,drive=DRIVE-ID,class=C,vectors=V,ioeventfd=IOEVENTFD 119 IOEVENTFD controls whether or not ioeventfd is used for virtqueue 264 For virtio-net-pci, you can control whether or not ioeventfd is used for 265 virtqueue notify by setting ioeventfd= to on or off (default).
|
/openbmc/linux/Documentation/virt/kvm/s390/ |
H A D | s390-diag.rst | 62 Handled by either userspace or KVM (ioeventfd case).
|
/openbmc/qemu/docs/devel/ |
H A D | virtio-backends.rst | 106 DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags,
|
H A D | multiple-iothreads.txt | 121 (via ioeventfd). To achieve both objects, wrap the code between
|
H A D | memory.rst | 17 - setting up ioeventfd regions for kvm 157 ioeventfd) can be changed during the region lifecycle. They take effect
|
/openbmc/qemu/hw/nvme/ |
H A D | nvme.h | 534 bool ioeventfd; member
|
H A D | ctrl.c | 4826 if (n->params.ioeventfd && sq->sqid != 0) { in nvme_init_sq() 5464 if (n->params.ioeventfd && cqid != 0) { in nvme_init_cq() 7081 if (n->params.ioeventfd && sq->sqid != 0) { in nvme_dbbuf_config() 7094 if (n->params.ioeventfd && cq->cqid != 0) { in nvme_dbbuf_config() 8723 DEFINE_PROP_BOOL("ioeventfd", NvmeCtrl, params.ioeventfd, false),
|
/openbmc/qemu/system/ |
H A D | memory.c | 1471 MemoryRegionIoeventfd ioeventfd = { in memory_region_dispatch_write_eventfds() local 1478 ioeventfd.match_data = mr->ioeventfds[i].match_data; in memory_region_dispatch_write_eventfds() 1479 ioeventfd.e = mr->ioeventfds[i].e; in memory_region_dispatch_write_eventfds() 1481 if (memory_region_ioeventfd_equal(&ioeventfd, &mr->ioeventfds[i])) { in memory_region_dispatch_write_eventfds() 1482 event_notifier_set(ioeventfd.e); in memory_region_dispatch_write_eventfds()
|
/openbmc/linux/Documentation/virt/kvm/ |
H A D | api.rst | 2009 This ioctl attaches or detaches an ioeventfd to a legal pio/mmio address 2041 With KVM_CAP_IOEVENTFD_ANY_LENGTH, a zero length ioeventfd is allowed, and 2043 The speedup may only apply to specific architectures, but the ioeventfd will
|