On Tue, Nov 15, 2016 at 04:11:57PM +1100, Alexey Kardashevskiy wrote: > On 15/11/16 11:59, Peter Xu wrote: > > When one IOMMU memory region is splitted into multiple memory sections, > > > Out of curiosity - when does this happen?
My understanding: each PCI device will have one IOMMU region when with vt-d vIOMMU enabled. After interrupt remapping is enabled, another 0xfeexxxxx region is overlapped to filter out the interrupts (see vtd_find_add_as()). So the big Intel IOMMU region is splitted into several. Of course looks like we can remove the interrupt region and only use one IOMMU region for both DMAR and IR, but I don't think that's a good one, since maybe one day we'll have another scenario that will split a single memory region. In that case, I'd prefer we take care of it during registration. Thanks, -- peterx