On 31/10/17 21:17, Alex Williamson wrote: > On Tue, 31 Oct 2017 19:14:38 +0000 > Jean-Philippe Brucker <jean-philippe.brucker@xxxxxxx> wrote: > >> This series implements PCI pass-through using VFIO in kvmtool. We >> introduce a new parameter to lkvm run, --vfio-group, that takes an IOMMU >> group number as argument, and passes all devices in the group to the >> guest. > > Is there a discussion somewhere that provides the reasoning behind this > whole group choice? It seems very limiting since there exist plenty of > examples of groups where endpoints and interconnects are both included, > but only the former is compatible with vfio-pci in the host. It's > currently impossible to open all of these devices. There's also no > opportunity to create different device topologies with this > specification (ex. multi-function vs separate devices vs downstream of > switches/bridges/root-ports). It seems like a strange starting point > to me, but you probably already guessed that based on the QEMU > implementation. I don't think it had come up yet. My guess is that it was simpler to do whole groups when writing the prototype (by Will) and I didn't think much about changing the interface when I took over. I agree that the QEMU parameter format is a lot better. So maybe we should have "--vfio-pci [<domain>:]<bus>:<dev>.<fn>", and later "--vfio-platform <name.address>" etc. >> Since last version [1], I fixed a few things pointed out by Punit. The >> series has now been tested on hardware (previously only software model.) > > Which hardware? Intel or only ARM? Thanks, For the moment only an ARM-based AMD Seattle with an Intel Gigabit, as I don't have any suitable x86 hardware. However I just tried passing QEMU's i1000e emulation and a virtio-net device to a guest with kvmtool, and the guest fails to probe them. Both are passed successfully to a guest with a nested QEMU. I'll investigate. Thanks, Jean