On Tue, Apr 23, 2024 at 03:58:17PM +0800, Yi Liu wrote: > > > > 1) Check if a pasid cap is already present in the virtual config space > > > > read from kernel. If no, but user wants pasid, then goto step 2). > > > > 2) Userspace invokes VFIO_DEVICE_FETURE to check if the device support > > > > pasid cap. If yes, goto step 3). > > > > > > Why do we need the vfio feature interface if a physical or virtual PASID > > > capability on the device exposes the same info? > > > > Still need to check if the platform, os, iommu, etc are all OK with > > enabling PASID support before the viommu advertises it. > > This means we don't expose physical or virtual PASID cap, is it? Yeah keep hiding both still works. Some kind of test to see if PASID and ATS are supportable on the device. Probably via IOMMUFD_CMD_GET_HW_INFO If they are supported then the VMM will find empty space and generate the missing caps. The VMM will have means to fix the location during migration. Jason