On Fri, Mar 24, 2023 at 09:09:59AM +0000, Tian, Kevin wrote: > > From: Alex Williamson <alex.williamson@xxxxxxxxxx> > > Sent: Wednesday, March 22, 2023 5:01 AM > > > > On Tue, 21 Mar 2023 17:50:08 -0300 > > Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > > > > > > > Though it would be nice if qemu didn't need two implementations so Yi > > > I'd rather see a new info in this series as well and qemu can just > > > consistently use dev_id and never bdf in iommufd mode. > > > > We also need to consider how libvirt determines if QEMU has the kernel > > support it needs to pass file descriptors. It'd be a lot cleaner if > > this aligned with the introduction of vfio cdevs. > > > > Libvirt can check whether the kernel creates cdev for a given device > via sysfs. > > but I'm not sure how Libvirt determines whether QEMU supports a > feature that it wants to use. But sounds this is a general handshake > problem as Libvirt needs to support many versions of QEMU then > there must be a way for such negotiation? Ideally libvirt would be able to learn what ioctls are supported on the cdev fd after it opens it, but before binding. I don't think we have something here yet, but I could imagine having something. Clearly it is easier if cdev alone is enough proof to know that it should go ahead in cdev mode. Jason