Reviewed-by: Clement Mathieu--Drif <[email protected]>

On Sat, 2026-05-09 at 00:08 -0400, Zhenzhong Duan wrote:
> VFIO device will check flag VIOMMU_FLAG_PASID_SUPPORTED and expose PASID  
> capability, also check VIOMMU_FLAG_WANT_PASID_ATTACH to enable pasid  
> attachment, without those guest could not enable PASID of this device even  
> if vIOMMU's pasid is configured.
> 
> We don't expose the two flags when first stage is not configured as we  
> don't support shadow page table on a PASID.
> 
> This is the final knob to enable PASID.
> 
> Signed-off-by: Zhenzhong Duan 
> <[[email protected]](mailto:[email protected])>  
> Tested-by: Xudong Hao <[[email protected]](mailto:[email protected])>  
> ---  
>  hw/i386/intel_iommu.c | 5 +++++  
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c  
> index 6067069e02..70546e91d4 100644  
> --- a/hw/i386/intel_iommu.c  
> +++ b/hw/i386/intel_iommu.c  
> @@ -4788,6 +4788,11 @@ static uint64_t vtd_get_viommu_flags(void *opaque)  
>      if (s->fsts) {  
>          flags = VIOMMU_FLAG_WANT_NESTING_PARENT |  
>                  VIOMMU_FLAG_WANT_NESTING_DIRTY_TRACKING;  
> +  
> +        if (s->pasid) {  
> +            flags |= VIOMMU_FLAG_PASID_SUPPORTED |  
> +                     VIOMMU_FLAG_WANT_PASID_ATTACH;  
> +        }  
>      }  
>    
>      return flags;

Reply via email to