On 2024/9/9 21:04, Jason Gunthorpe wrote:
On Mon, Sep 09, 2024 at 08:59:32PM +0800, Yi Liu wrote:
In order to synthesize the vPASID cap, the VMM should get to know the
capabilities like Privilege mode, Execute permission from the physical
device's config space. We have two choices as well. vfio or iommufd.
It appears to be better reporting the capabilities via vfio uapi (e.g.
VFIO_DEVICE_FEATURE). If we want to go through iommufd, then we need to
add a pair of data_uptr/data_size fields in the GET_HW_INFO to report the
PASID capabilities to userspace. Please let me know your preference. :)
I don't think you'd need a new data_uptr, that doesn't quite make
sense
What struct data do you imagine needing?
something like below.
struct iommufd_hw_info_pasid {
__u16 capabilities;
#define IOMMUFD_PASID_CAP_EXEC (1 << 0)
#define IOMMUFD_PASID_CAP_PRIV (1 << 1)
__u8 width;
__u8 __reserved;
};
--
Regards,
Yi Liu