> From: Liu, Yi L > Sent: Tuesday, April 7, 2020 5:43 PM > > > We don't, the PASID spaces are per-VM on Arm, so this function should > > consult the IOMMU driver before setting flags. As you said on patch 3, > > nested doesn't necessarily imply PASID support. The SMMUv2 does not > > support PASID but does support nesting stages 1 and 2 for the IOVA space. > > SMMUv3 support of PASID depends on HW capabilities. So I think this > > needs to be finer grained: > > > > Does the container support: > > * VFIO_IOMMU_PASID_REQUEST? > > -> Yes for VT-d 3 > > -> No for Arm SMMU > > * VFIO_IOMMU_{,UN}BIND_GUEST_PGTBL? > > -> Yes for VT-d 3 > > -> Sometimes for SMMUv2 > > -> No for SMMUv3 (if we go with BIND_PASID_TABLE, which is simpler due to > > PASID tables being in GPA space.) > > * VFIO_IOMMU_BIND_PASID_TABLE? > > -> No for VT-d > > -> Sometimes for SMMUv3 > > > > Any bind support implies VFIO_IOMMU_CACHE_INVALIDATE support. > > good summary. do you expect to see any please ignore this message. I planned to ask if possible to report VFIO_IOMMU_CACHE_INVALIDATE only (no bind support). But I stopped typing it when I came to believe it's unnecessary to report it if there is no bind support. Regards, Yi Liu