Yet another try with VFIO on SPAPR (server PPC64). As the previous try was too long time ago, I did not bother with the change log much as all of this requires review again. Also, it depends on these 2 patchsets which I cannot get reviewed yet (keep pinging...): [PATCH] spapr-iommu: extend SPAPR_TCE_TABLE class [PATCH 0/4] spapr-pci: prepare for vfio
This does not include VFIO KVM device support as the host kernel part is not there yet because bigger rework of the host VFIO driver is going to happen soon. Alex (Williamson), if you find it possible, please "ack" or "rb" as much as you can. Thanks! Changes: v5: * rebase on top of the current upstream 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 Alexey Kardashevskiy (7): int128: add int128_exts64() vfio: Fix 128 bit handling vfio: rework to have error paths spapr-iommu: add SPAPR VFIO IOMMU device spapr vfio: add vfio_container_spapr_get_info() spapr-vfio: add spapr-pci-vfio-host-bridge to support vfio spapr-vfio: enable for spapr David Gibson (4): memory: Sanity check that no listeners remain on a destroyed AddressSpace vfio: Introduce VFIO address spaces vfio: Create VFIOAddressSpace objects as needed vfio: Add guest side IOMMU support hw/misc/vfio.c | 338 +++++++++++++++++++++++++++++++++++++------- hw/ppc/Makefile.objs | 2 +- hw/ppc/spapr_iommu.c | 97 +++++++++++++ hw/ppc/spapr_pci_vfio.c | 206 +++++++++++++++++++++++++++ include/hw/misc/vfio.h | 11 ++ include/hw/pci-host/spapr.h | 13 ++ include/hw/ppc/spapr.h | 5 + include/qemu/int128.h | 5 + memory.c | 7 + 9 files changed, 633 insertions(+), 51 deletions(-) create mode 100644 hw/ppc/spapr_pci_vfio.c create mode 100644 include/hw/misc/vfio.h -- 1.8.4.rc4