This series allow using multiple MSIX IRQs We currently share a single IRQ between 2 NVMe queues (ADMIN and I/O). This series still uses 1 shared IRQ but prepare for using multiple ones.
The series is organized as: - Fix device minimum page size (prerequisite: patch 1) - Check IOMMU minimum page size (patches 3, 4) - Boring cleanups already reviewed (patches 2, 5-12) - Introduce helpers to use multiple MSIX (patches 13, 14) - Switch NVMe block driver to use the multiple MSIX API (15) - Remove single MSIX helper (16). Most patches are trivial, except 13 and 14 which are the important VFIO ones. Please review, Phil. Philippe Mathieu-Daudé (16): block/nvme: Correct minimum device page size util/vfio-helpers: Improve reporting unsupported IOMMU type util/vfio-helpers: Pass minimum page size to qemu_vfio_open_pci() util/vfio-helpers: Report error when IOMMU page size is not supported util/vfio-helpers: Trace PCI I/O config accesses util/vfio-helpers: Trace PCI BAR region info util/vfio-helpers: Trace where BARs are mapped util/vfio-helpers: Improve DMA trace events util/vfio-helpers: Convert vfio_dump_mapping to trace events util/vfio-helpers: Let qemu_vfio_dma_map() propagate Error util/vfio-helpers: Let qemu_vfio_do_mapping() propagate Error util/vfio-helpers: Let qemu_vfio_verify_mappings() use error_report() util/vfio-helpers: Introduce qemu_vfio_pci_msix_init_irqs() util/vfio-helpers: Introduce qemu_vfio_pci_msix_set_irq() block/nvme: Switch to using the MSIX API util/vfio-helpers: Remove now unused qemu_vfio_pci_init_irq() include/qemu/vfio-helpers.h | 15 ++- block/nvme.c | 33 ++++--- util/vfio-helpers.c | 183 +++++++++++++++++++++++++++--------- util/trace-events | 13 ++- 4 files changed, 182 insertions(+), 62 deletions(-) -- 2.26.2