On Fri, May 10, 2024 at 10:30:10PM +0800, Baolu Lu wrote: > diff --git a/include/linux/iommu.h b/include/linux/iommu.h > index 35ae9a6f73d3..09b4e671dcee 100644 > --- a/include/linux/iommu.h > +++ b/include/linux/iommu.h > @@ -173,6 +173,8 @@ struct iommu_domain_geometry { > > #define __IOMMU_DOMAIN_NESTED (1U << 6) /* User-managed address space > nested > on a stage-2 translation > */ > +#define __IOMMU_DOMAIN_PASID (1U << 7) /* User-managed domain for a > + specific PASID*/ > > #define IOMMU_DOMAIN_ALLOC_FLAGS ~__IOMMU_DOMAIN_DMA_FQ > /* > @@ -204,6 +206,9 @@ struct iommu_domain_geometry { > #define IOMMU_DOMAIN_SVA (__IOMMU_DOMAIN_SVA) > #define IOMMU_DOMAIN_PLATFORM (__IOMMU_DOMAIN_PLATFORM) > #define IOMMU_DOMAIN_NESTED (__IOMMU_DOMAIN_NESTED) > +#define IOMMU_DOMAIN_NESTED_PASID \ > + (__IOMMU_DOMAIN_NESTED | \ > + __IOMMU_DOMAIN_PASID) Yeah, something like that, I don't know about naming though.. How about DOMAIN_NESTED = Attachment to RID or PASID DOMAIN_NESTED_PASID_TABLE = RID and the entire PASID space ? Jason