On Wed, Oct 22, 2014 at 05:43:20PM +0200, Frank Blaschka wrote: > Basically there are no limitations. Depending on the s390 maschine > generation a device starts its IOVA at a specific address (announced by > the HW). But as I already told each device starts at the same address. > I think this prevents having multiple devices on the same IOMMU domain.
Why, each device has its own IOVA address space, so IOVA A could map to physical address X for one device and to Y for another, no? And if you point multiple devices to the same dma_table they share the mappings (and thus the address space). Or am I getting something wrong? > yes, you are absolutely right. There is a per-device dma_table. > There is no general IOMMU device but each pci device has its own IOMMU > translation capability. I see, in this way it is similar to ARM where there is often also one IOMMU per master device. > Is there a possibility the IOMMU domain can support e.g. something like > > VIOA 0x10000 -> pci device 1 > VIOA 0x10000 -> pci device 2 A domain is basically an abstraction for a DMA page table (or a dma_table, as you call it on s390). So you can easily create similar mappings for more than one device with it. Joerg _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu