Re: [RFC 09/20] iommu: Add page size and address width attributes

From: Eric Auger
Date: Wed Sep 22 2021 - 09:43:07 EST


Hi,

On 9/19/21 8:38 AM, Liu Yi L wrote:
> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
>
> This exposes PAGE_SIZE and ADDR_WIDTH attributes. The iommufd could use
> them to define the IOAS.
>
> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> ---
> include/linux/iommu.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index 943de6897f56..86d34e4ce05e 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -153,9 +153,13 @@ enum iommu_dev_features {
> /**
> * enum iommu_devattr - Per device IOMMU attributes
> * @IOMMU_DEV_INFO_FORCE_SNOOP [bool]: IOMMU can force DMA to be snooped.
> + * @IOMMU_DEV_INFO_PAGE_SIZE [u64]: Page sizes that iommu supports.
> + * @IOMMU_DEV_INFO_ADDR_WIDTH [u32]: Address width supported.
I think this deserves additional info. What address width do we talk
about, input, output, what stage if the IOMMU does support multiple stages

Thanks

Eric
> */
> enum iommu_devattr {
> IOMMU_DEV_INFO_FORCE_SNOOP,
> + IOMMU_DEV_INFO_PAGE_SIZE,
> + IOMMU_DEV_INFO_ADDR_WIDTH,
> };
>
> #define IOMMU_PASID_INVALID (-1U)