On Sat, Apr 25, 2015 at 10:24:37PM +1000, Alexey Kardashevskiy wrote: > We are going to have multiple DMA windows at different offsets on > a PCI bus. For the sake of migration, we will have as many TCE table > objects pre-created as many windows supported. > So we need a way to map windows dynamically onto a PCI bus > when migration of a table is completed but at this stage a TCE table > object does not have access to a PHB to ask it to map a DMA window > backed by just migrated TCE table. > > This adds a "root" memory region (UINT64_MAX long) to the TCE object. > This new region is mapped on a PCI bus with enabled overlapping as > there will be one root MR per TCE table, each of them mapped at 0. > The actual IOMMU memory region is a subregion of the root region and > a TCE table enables/disables this subregion and maps it at > the specific offset inside the root MR which is 1:1 mapping of > a PCI address space. > > Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru>
Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
pgpw3IVNevxVj.pgp
Description: PGP signature