Hello! > > I don't remember the exact outcome. So, i decided to use addPCIeRoot instead, and > everything just worked. > > Except the extra stuff. The origin of the problem was in my overloading > "addPCIeRoot" to indicate that the other two controllers should also be > added. You only made the mistake of thinking that the name of the > variable was actually an accurate/complete description of what it did :-) No, it was fine, and i don't consider it a mistake. All i needed is to tell libvirt somehow that the machine has PCIe, and that did the job perfectly. I knew that it adds two more devices for some reason, but decided just to leave it as it is, because i assumed that there is a reason for them to be there, just didn't care what the reason exactly is. I am questioning it only now. > But apparently qemu is accepting "-device i82801b11-bridge" and -device > pci-bridge, since that's what you get from libvirt. If these devices > aren't supported for aarch64, they should be disabled in qemu (and not > listed in the devices when libvirt asks). It's actually supported, and everything just works. Here is what i get in the machine: --- cut --- [root@localhost ~]# lspci -v 00:00.0 Host bridge: Red Hat, Inc. Device 0008 Subsystem: Red Hat, Inc Device 1100 Flags: fast devsel lspci: Unable to load libkmod resources: error -12 00:01.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92) (prog-if 01 [Subtractive decode]) Flags: 66MHz, fast devsel Bus: primary=00, secondary=01, subordinate=02, sec-latency=0 Memory behind bridge: 10000000-100fffff Capabilities: [50] Subsystem: Device 0000:0000 00:02.0 SCSI storage controller: Red Hat, Inc Virtio SCSI Subsystem: Red Hat, Inc Device 0008 Flags: bus master, fast devsel, latency 0, IRQ 39 I/O ports at 1000 [size=64] Memory at 10140000 (32-bit, non-prefetchable) [size=4K] Capabilities: [40] MSI-X: Enable+ Count=4 Masked- Kernel driver in use: virtio-pci 00:03.0 Ethernet controller: Red Hat, Inc Virtio network device Subsystem: Red Hat, Inc Device 0001 Flags: bus master, fast devsel, latency 0, IRQ 40 I/O ports at 1040 [size=32] Memory at 10141000 (32-bit, non-prefetchable) [size=4K] [virtual] Expansion ROM at 10100000 [disabled] [size=256K] Capabilities: [40] MSI-X: Enable+ Count=3 Masked- Kernel driver in use: virtio-pci 00:04.0 Ethernet controller: Cavium, Inc. Device 0011 Subsystem: Cavium, Inc. Device a11e Flags: bus master, fast devsel, latency 0 Memory at 8000000000 (64-bit, non-prefetchable) [size=2M] Memory at 8000200000 (64-bit, non-prefetchable) [size=2M] Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00 Capabilities: [b0] MSI-X: Enable+ Count=20 Masked- Capabilities: [100] Alternative Routing-ID Interpretation (ARI) Kernel driver in use: thunder-nicvf 01:01.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge (prog-if 00 [Normal decode]) Flags: 66MHz, fast devsel Memory at 10000000 (64-bit, non-prefetchable) [disabled] [size=256] Bus: primary=01, secondary=02, subordinate=02, sec-latency=0 Capabilities: [4c] MSI: Enable- Count=1/1 Maskable+ 64bit+ Capabilities: [48] Slot ID: 0 slots, First+, chassis 02 Capabilities: [40] Hot-plug capable --- cut --- 00:04:0 is VFIO passthrough, and i put everything to bus#0 by hands, for MSI-X to work. I could also leave devices at bus#2, just in this case i don't get MSI-X, and this, for example, makes vhost-net unable to use irqfds (or it cannot initialize at all, again, i already don't remember), because this requires per-event irqs. Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list