On Tue, Sep 21, 2021 at 11:10:15PM +0000, Tian, Kevin wrote: > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > Sent: Wednesday, September 22, 2021 12:01 AM > > > > On Sun, Sep 19, 2021 at 02:38:31PM +0800, Liu Yi L wrote: > > > With /dev/vfio/devices introduced, now a vfio device driver has three > > > options to expose its device to userspace: > > > > > > a) only legacy group interface, for devices which haven't been moved to > > > iommufd (e.g. platform devices, sw mdev, etc.); > > > > > > b) both legacy group interface and new device-centric interface, for > > > devices which supports iommufd but also wants to keep backward > > > compatibility (e.g. pci devices in this RFC); > > > > > > c) only new device-centric interface, for new devices which don't carry > > > backward compatibility burden (e.g. hw mdev/subdev with pasid); > > > > We shouldn't have 'b'? Where does it come from? > > a vfio-pci device can be opened via the existing group interface. if no b) it > means legacy vfio userspace can never use vfio-pci device any more > once the latter is moved to iommufd. Sorry, I think I ment a, which I guess you will say is SW mdev devices But even so, I think the way forward here is to still always expose the device /dev/vfio/devices/X and some devices may not allow iommufd usage initially. Providing an ioctl to bind to a normal VFIO container or group might allow a reasonable fallback in userspace.. Jason