On 8/15/24 08:11, Jason Gunthorpe wrote: > The iommu implementation is a single version of the iommu domain > operations, iova_to_phys, map, unmap, read_and_clear_dirty and > flushing. It is intended to be a near drop in replacement for existing > iopt users. > > By using the Generic Page Table mechanism it is a single algorithmic > implementation that operates all the different page table formats with > consistent characteristics. > > Implement the basic starting point: alloc(), get_info() and deinit(). > > Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxx> > --- > drivers/iommu/generic_pt/fmt/iommu_template.h | 37 ++++ > drivers/iommu/generic_pt/iommu_pt.h | 166 ++++++++++++++++++ > include/linux/generic_pt/iommu.h | 87 +++++++++ > 3 files changed, 290 insertions(+) > create mode 100644 drivers/iommu/generic_pt/fmt/iommu_template.h > create mode 100644 drivers/iommu/generic_pt/iommu_pt.h > create mode 100644 include/linux/generic_pt/iommu.h > ... > +EXPORT_SYMBOL_NS_GPL(pt_iommu_init, GENERIC_PT_IOMMU); > + > +MODULE_LICENSE("GPL"); > +MODULE_IMPORT_NS(GENERIC_PT); Since commit 1fffe7a34c89 ("script: modpost: emit a warning when the description is missing"), a module without a MODULE_DESCRIPTION() will result in a warning when built with make W=1. > + > +#endif