This series switches the vfio type1 IOMMU backend to support multiple IOMMU domains per container. As outlined in 1/4, this provides several advantages, including supporting features like IOMMU_CACHE and allowing bus_type independence. With such support, we're able to provide an interface to indicate the container is fully cache coherent and export it for use by the external user interface. This allows the kvm-vfio pseudo device to properly test for non-coherent DMA rather than assume it whenever a kvm-vfio device is registered. A change introduced by 1/4 creates a new, v2 type1 IOMMU backend. This type differs subtly in unmap behavior as described in the patch itself. For QEMU use of VFIO, there's no change and switching to v2 is transparent. I'd appreciate any feedback on whether we should simply call the previous behavior broken or if we should do like implemented here and support a compatible mode. Comments welcome. Thanks, Alex --- Alex Williamson (4): vfio/iommu_type1: Multi-IOMMU domain support vfio/type1: Add extension to test DMA cache coherence of IOMMU vfio: Add external user check extension interface kvm/vfio: Support for DMA coherent IOMMUs drivers/vfio/vfio.c | 6 drivers/vfio/vfio_iommu_type1.c | 656 +++++++++++++++++++++------------------ include/linux/vfio.h | 2 include/uapi/linux/vfio.h | 6 virt/kvm/vfio.c | 27 +- 5 files changed, 389 insertions(+), 308 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