Hi Gibson, I noticed your patch http://git.qemu.org/?p=qemu.git;a=commitdiff;h=89dfd6e1 and have some question about PCI bus name on PowerPC.
When I use libvirt to start VM on PowerPC platforms, it failed as below: # virsh start sdk error: Failed to start domain sdk error: internal error: early end of file from monitor: possible problem: qemu-system-ppc: -device piix3-usb-uhci,id=usb,bus=pci,addr=0x1: Bus 'pci' not found Exactly it should be 'pci.0' according to the default qdev core logic. But currently in libvirt it only recognize PCI bus name as 'pci.0' on x86_64/i686 Arch. ------------------------------------------------------------------- libvirt/src/qemu/qemu_capabilities.c /* Currently only x86_64 and i686 support PCI-multibus. */ if (qemuCaps->arch == VIR_ARCH_X86_64 || qemuCaps->arch == VIR_ARCH_I686) { virQEMUCapsSet(qemuCaps, QEMU_CAPS_PCI_MULTIBUS); libvirt/src/qemu/qemu_capabilities.h: QEMU_CAPS_PCI_MULTIBUS = 52, /* bus=pci.0 vs bus=pci */ ------------------------------------------------------------------- Looking at 'info qtree' output it seems "pseries" is the only PPC machine type using "pci" (out of those we managed to run): $ ./ppc64-softmmu/qemu-system-ppc64 -M ? Supported machines are: virtex-ml507 Xilinx Virtex ML507 reference design pseries pSeries Logical Partition (PAPR compliant) (default) prep PowerPC PREP platform bamboo bamboo ref405ep ref405ep taihu taihu mpc8544ds mpc8544ds g3beige Heathrow based PowerMAC mac99 Mac99 based PowerMAC ppce500 generic paravirt e500 platform none empty machine 1) virtex-ml507 2) pseries Warning: Disabling some instructions which are not emulated by TCG (0x0, 0x4) bus: pci 3) prep bus: pci.0 4) bamboo bus: pci.0 5) ref405ep qemu-system-ppc64: Could not load PowerPC BIOS 'ppc405_rom.bin' 6) taihu qemu-system-ppc64: Could not load PowerPC BIOS 'ppc405_rom.bin' 7) mpc8544ds bus: pci.0 8) g3beige bus: pci.0 9) mac99 bus: pci.0 10) ppce500 bus: pci.0 Could pseries also use 'pci.0' as PCI bus name? If yes, could we set QEMU_CAPS_PCI_MULTIBUS in libvirt for all the PowerPC platforms? Otherwise, we need detect the machine to fix this issue. The discussion in libvirt mailing list is here: https://www.redhat.com/archives/libvir-list/2014-March/msg00228.html I think we need reach an agreement in QEMU and then work on libvirt. Best Regards, Olivia