[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] vfio with iommu groups
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] vfio with iommu groups |
Date: |
Sat, 12 May 2012 17:31:40 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20120327 Thunderbird/11.0.1 |
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):
address@hidden:~$ 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
address@hidden:~$ 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
- [Qemu-devel] vfio with iommu groups,
Alexey Kardashevskiy <=