Messages in this thread | | | From | "Tian, Kevin" <> | Subject | RE: [PATCH 0/7] iommu cleanup and refactoring | Date | Mon, 24 Jan 2022 09:46:26 +0000 |
| |
> From: Lu Baolu <baolu.lu@linux.intel.com> > 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
| |