On Thu, Sep 21, 2023 at 12:51:31AM -0700, Yi Liu wrote: > IOMMU_HWPT_ALLOC already supports iommu_domain allocation for usersapce. > But it can only allocate a hw_pagetable that associates to a given IOAS, > i.e. only a kernel-managed hw_pagetable of IOMMU_HWPT_TYPE_DEFAULT type. > > IOMMU drivers can now support user-managed hw_pagetables, for two-stage > translation use cases, that require user data input from the user space. > > Extend the IOMMU_HWPT_ALLOC ioctl to accept non-default hwpt_type with a > type specified user data. Also, update the @pt_id to accept hwpt_id too > besides an ioas_id. Then, pass them to the downstream alloc_fn(). > > Co-developed-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> > Signed-off-by: Yi Liu <yi.l.liu@xxxxxxxxx> > --- > drivers/iommu/iommufd/hw_pagetable.c | 19 ++++++++++++++++++- > include/uapi/linux/iommufd.h | 23 +++++++++++++++++++++-- > 2 files changed, 39 insertions(+), 3 deletions(-) Can we also come with a small vt-d patch that does implement an op for this? Or is it too big? It would be nice if we could wrap IOMMU_HWPT_ALLOC into one self-contained series and another series for invalidate. Jason