Re: [PATCH v5 3/9] iommu: Add attachment handle to struct iopf_group

From: Jason Gunthorpe
Date: Fri May 10 2024 - 12:29:11 EST


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