> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Wednesday, September 22, 2021 8:59 PM > > On Wed, Sep 22, 2021 at 03:56:18AM +0000, Tian, Kevin wrote: > > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > > Sent: Wednesday, September 22, 2021 2:04 AM > > > > > > On Sun, Sep 19, 2021 at 02:38:43PM +0800, Liu Yi L wrote: > > > > This patch adds interface for userspace to attach device to specified > > > > IOASID. > > > > > > > > Note: > > > > One device can only be attached to one IOASID in this version. This is > > > > on par with what vfio provides today. In the future this restriction can > > > > be relaxed when multiple I/O address spaces are supported per device > > > > > > ?? In VFIO the container is the IOS and the container can be shared > > > with multiple devices. This needs to start at about the same > > > functionality. > > > > a device can be only attached to one container. One container can be > > shared by multiple devices. > > > > a device can be only attached to one IOASID. One IOASID can be shared > > by multiple devices. > > > > it does start at the same functionality. > > > > > > > > > + } else if (cmd == VFIO_DEVICE_ATTACH_IOASID) { > > > > > > This should be in the core code, right? There is nothing PCI specific > > > here. > > > > > > > but if you insist on a pci-wrapper attach function, we still need something > > here (e.g. with .attach_ioasid() callback)? > > I would like to stop adding ioctls to this switch, the core code > should decode the ioctl and call an per-ioctl op like every other > subsystem does.. > > If you do that then you could have an op > > .attach_ioasid = vfio_full_device_attach, > > And that is it for driver changes. > > Every driver that use type1 today should be updated to have the above > line and will work with iommufd. mdevs will not be updated and won't > work. > will do.