Hi Tom, I've updated some patches I've been working on to v5 and wanted to see what you think. I also found a couple minor bugs, fixed in this series. The main idea is that since the VFIO interface defines that the INTx interrupt is disabled when it fires, we should provide an interface to re-enable it. We currently have to do a read-modify-write to PCI config space, requring two ioctls. I introduce an ioctl to do this for us. An important aspect of this is that now we can support non-PCI-2.3 devices since re-enabling the interrupt is abstracted (with the same caveat as current KVM device assignment, that they must get an exclusive interrupt). The real trick though is that we can then also create an irqfd-like mechanism to trigger re-enabling interrupts from and eventfd. This allows qemu to do all the setup for connecting interrupts from VFIO into KVM and EOIs from KVM to VFIO, then lets userspace get completely out of the way. Hope you like it. Thanks, Alex --- Alex Williamson (5): vfio: Add a new ioctl to support EOI via eventfd vfio: Add support for non-PCI 2.3 compliant devices vfio: Add ioctl to re-enable interrupts vfio: Fix requested regions vfio: Fix the ROM mask drivers/vfio/vfio_intrs.c | 254 +++++++++++++++++++++++++++++++++++++--- drivers/vfio/vfio_main.c | 37 +++++- drivers/vfio/vfio_pci_config.c | 2 drivers/vfio/vfio_rdwr.c | 4 - include/linux/vfio.h | 14 ++ 5 files changed, 279 insertions(+), 32 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html