[PATCH 0/4] vfio: type1 multi-domain support & kvm-vfio coherency checking

From: Alex Williamson
Date: Mon Feb 17 2014 - 15:24:01 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/