vfio with iommu groups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I pulled new VFIO from github, ported to POWER and got some issues/thoughts which I post as patches.
However PCI bridges handling is an open question to discuss.

My test setup includes PCIe card Intel E1000E which looks in the host like this
(cut device names in the tree below as they were too long to look nice):
aik@vpl2:~$ lspci -vt
 +-[0003:00]---00.0-[01-ff]----00.0-[02-04]--+-02.0-[03]--+-00.0  Intel Gigabit Ethernet
 |                                           |            \-00.1  Intel Gigabit Ethernet
 |                                           \-04.0-[04]--+-00.0  Intel Gigabit Ethernet
 |                                                        \-00.1  Intel Gigabit Ethernet

aik@vpl2:~$ lspci
...
0003:00:00.0 PCI bridge: IBM Device 02ea (rev 02)
0003:01:00.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e)
0003:02:02.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e)
0003:02:04.0 PCI bridge: Integrated Device Technology, Inc. PES12N3A PCI Express Switch (rev 0e)
0003:03:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper)
(rev 06)
0003:03:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper)
(rev 06)
0003:04:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper)
(rev 06)
0003:04:00.1 Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (Copper)
(rev 06)


At the moment I bind all devices from domain 0003 to the vfio_pci driver and give as many
devices from it to QEMU as I want. vfio-pci owns devices, the guest sees what he needs to see -
ethernet adapters, it works.

However theoretically we might want to show these 3 PCIe bridges as well (but not the root complex).
For example, INTx lines should be swizzled when the guest parses a device tree and
tries to calculate a real IRQ number. VFIO does not handles bridges at all, it treats them as PCI
functions.

Is there any idea what to do with bridges?


-- 
Alexey
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux