[RFC PATCH 0/3] kvm/vfio: Manage KVM IOMMU coherency with virtual VFIO device

Alex Williamson
2013-09-12T21:22:55Z

See patch 3/3 for a description of exactly why we need this. I know
POWER folks are also interested in making use of VFIO's external user
interface from KVM and Alexey's proposed patches have a similar device
tailored for SPAPR use there. I'm hoping that we can make the base
device common and extend it for each architecture. The problem we're
solving on x86 may or may not be architecture specific. It has to do
with how the IOMMU handles No-Snoop transactions on PCIe in relation
to how KVM handles vCPU cache operations.

Appreciate any feedback and suggestions on how to make this more
palatable for sharing with POWER. I'll also send a QEMU RFC which
makes use of this. Thanks,

Alex

---

Alex Williamson (3):
kvm: Destroy & free KVM devices on release
vfio: Add check extension interface to external user support
kvm: Add VFIO device for handling IOMMU cache coherency

Documentation/virtual/kvm/devices/vfio.txt | 22 +++
arch/powerpc/kvm/book3s_xics.c | 1
arch/x86/include/asm/kvm_host.h | 1
arch/x86/kvm/Makefile | 2
arch/x86/kvm/vmx.c | 5 -
arch/x86/kvm/x86.c | 5 -
drivers/vfio/vfio.c | 8 +
drivers/vfio/vfio_iommu_type1.c | 4
include/linux/kvm_host.h | 1
include/linux/vfio.h | 2
include/uapi/linux/kvm.h | 4
include/uapi/linux/vfio.h | 1
virt/kvm/kvm_main.c | 8 +
virt/kvm/vfio.c | 237 ++++++++++++++++++++++++++++
14 files changed, 295 insertions(+), 6 deletions(-)
create mode 100644 Documentation/virtual/kvm/devices/vfio.txt
create mode 100644 virt/kvm/vfio.c