Yet another try with VFIO on SPAPR (server PPC64). Changes: v3 -> v4: * addressed all comments from Alex Williamson * moved spapr-pci-phb-vfio-phb to new file * split spapr-pci-phb-vfio to many smaller patches
The "spapr vfio: add vfio_container_spapr_get_info()" needs kernel headers update (v3.11-rc6); The "spapr kvm vfio: enable in-kernel acceleration" needs a kernel patch which is not in the kernel yet and posted separately as "[PATCH v9 00/13] KVM: PPC: IOMMU in-kernel handling of VFIO". More details in the individual patches commit messages. Alexey Kardashevskiy (9): spapr vfio: add vfio_container_spapr_get_info() spapr_pci: convert init to realize spapr_pci: add spapr_pci trace spapr_pci: converts fprintf to error_report spapr_iommu: introduce SPAPR_TCE_TABLE class spapr_iommu: add SPAPR VFIO IOMMU spapr vfio: add spapr-pci-vfio-host-bridge to support vfio spapr vfio: enable for spapr spapr kvm vfio: enable in-kernel acceleration David Gibson (3): vfio: Introduce VFIO address spaces vfio: Create VFIOAddressSpace objects as needed vfio: Add guest side IOMMU support hw/misc/vfio.c | 291 ++++++++++++++++++++++++++++++++++++++++---- hw/ppc/Makefile.objs | 2 +- hw/ppc/spapr_iommu.c | 168 ++++++++++++++++++++++--- hw/ppc/spapr_pci.c | 90 ++++++++------ hw/ppc/spapr_pci_vfio.c | 198 ++++++++++++++++++++++++++++++ include/hw/misc/vfio.h | 11 ++ include/hw/pci-host/spapr.h | 31 ++++- include/hw/ppc/spapr.h | 19 +++ target-ppc/kvm.c | 47 +++++++ target-ppc/kvm_ppc.h | 13 ++ trace-events | 1 + 11 files changed, 792 insertions(+), 79 deletions(-) create mode 100644 hw/ppc/spapr_pci_vfio.c create mode 100644 include/hw/misc/vfio.h -- 1.8.4.rc4