On 29 January 2016 at 16:53, Eric Auger <eric.au...@linaro.org> wrote: > This series enables KVM PCI/MSI passthrough with mach-virt. > > A new memory region type is introduced (reserved iova). On > vfio_listener_region_add this IOVA region is registered to the kernel with > VFIO_IOMMU_MAP_DMA (using the new VFIO_DMA_MAP_FLAG_MSI_RESERVED_IOVA flag). > > The host VFIO PCI driver then can use this IOVA window to map some host > physical addresses, accessed by passthrough'ed PCI devices, through the IOMMU. > The first goal is to map host MSI controller frames (GICv2M, GITS_TRANSLATER). > > mach-virt currently instantiates a 16x64kB reserved IOVA window. This > provisions for future usage. Most probably this exceeds MSI binding needs. > To avoid wasting guest PA, we now map the reserved region onto the > platform bus MMIO. > > The series includes Pranav/Tushar' series: > QEMU, [v2 0/2] Generic PCIe host bridge INTx determination for INTx routing > ((https://lists.nongnu.org/archive/html/qemu-devel/2015-04/msg04361.html)) > > Those patches are not mandated for PCI/MSI passthrough to work but without > those, the following warning is observed and can puzzle the end-user: > "qemu-system-aarch64: PCI: Bug - unimplemented PCI INTx routing > (gpex-pcihost)"
I've replied with comments about the parts I care about; I'm leaving the rest of the review to others (VFIO related, etc). thanks -- PMM