VFIO device will check flag VIOMMU_FLAG_PASID_SUPPORTED and expose PASID capability, or else guest could not enable PASID of this device even if vIOMMU's pasid is configured.
This is the final knob to enable PASID. Signed-off-by: Zhenzhong Duan <[email protected]> --- hw/i386/intel_iommu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 4ab50a9fd9..86998dad94 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4727,6 +4727,7 @@ static uint64_t vtd_get_viommu_flags(void *opaque) uint64_t flags; flags = s->fsts ? VIOMMU_FLAG_WANT_NESTING_PARENT : 0; + flags |= s->pasid ? VIOMMU_FLAG_PASID_SUPPORTED : 0; return flags; } -- 2.47.3
