On 03/05/2014 09:42 PM, hong-hua....@freescale.com wrote: > 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
I just tried current upstresm QEMU and it handles bus=pci fine, it prints an error on bus=pci.0 so I am confused - what qemu are you trying? I am adding our libvirt developer Li, she might help with this. > 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 > -- Alexey