Hi Joerg, On 11/11/2016 12:42, Joerg Roedel wrote: > On Thu, Nov 10, 2016 at 07:00:52PM +0100, Auger Eric wrote: >> GICv2m and GICV3 ITS use dma-mapping iommu_dma_map_msi_msg to allocate >> an MSI IOVA on-demand. > > Yes, and it the right thing to do there because as a DMA-API > implementation the dma-iommu code cares about the address space > allocation. > > As I understand it this is different in your case, as someone else is > defining the address space layout. So why do you need to allocate it > yourself? Effectively in passthrough use case, the userspace defines the address space layout and maps guest RAM PA=IOVA to PAs (using VFIO_IOMMU_MAP_DMA). But this address space does not comprise the MSI IOVAs. Userspace does not care about MSI IOMMU mapping. So the MSI IOVA region must be allocated by either the VFIO driver or the IOMMU driver I think. Who else could initialize the IOVA allocator domain? That's true that we have a mix of unmanaged addresses and "managed" addresses which is not neat. But how to manage otherwise? Thanks Eric > > > Joerg > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html