> From: Lu Baolu <[email protected]> > Sent: Monday, January 24, 2022 3:11 PM > > Hi, > > The guest pasid and aux-domain related code are dead code in current > iommu subtree. As we have reached a consensus that all these features > should be based on the new iommufd framework (which is under active > development), the first part of this series removes and cleanups all > the dead code. > > The second part of this series refactors the iommu_domain by moving all > domain-specific ops from iommu_ops to a new domain_ops. This makes an > iommu_domain self-contained and represent the abstraction of an I/O > translation table in the IOMMU subsystem. With different type of > iommu_domain providing different set of ops, it's easier to support more > types of I/O translation tables.
You may want to give more background on this end goal. In general there are four IOPT types in iommufd discussions: 1) The one currently tracked by iommu_domain, with a map/unmap semantics 2) The one managed by mm and shared to iommu via sva_bind/unbind ops 3) The one managed by userspace and bound to iommu via iommufd (require nesting) 4) The one managed by KVM (e.g. EPT) and shared to iommu via a TBD interface Currently only 1) and 2) are supported. 2) is supported via sva specific structures, tracked outside of iommu_domain. Following current direction 3) and 4) will end up to have separate tracking structures too (some existing bits for 3 are removed by this series). And this series is preparatory for extending the domain concept to be a general object for all IOPT types. And it is one important design direction to be aligned in the iommu community. Thanks Kevin _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
