On 04/26/2013 04:47 PM, Viktor Mihajlovski wrote: > On 04/26/2013 04:35 PM, Ján Tomko wrote: >> >> The big switch down there lists the architectures/machines that do have >> a PCI bus and we disallow adding PCI devices if they don't. >> >> I thought that any device that qemuAssignDevicePCISlots assigns a PCI >> address to would fail at QEMU level with a message about the PCI bus not >> found, but it seems this is not the case for the implicit USB controller >> -- we assign the address 0:0:1.2 to it, but it shows up >> just as '-usb' at the qemu commmand line. >> >> Are you able to start it after you delete the PCI address from the USB >> controller in the XML? (in this case, qemuAssignDevicePCISlots will just >> assign it without checking if there's a PCI bus available) >> > No, the PCI address always get added by default. Specifying model=none > doesn't help either. A fix that doesn't assign a PCI address for model=none USB controller is pushed now. >>> >>> Hum, the patch seems to add a big switch about def->os.arch >>> in qemuDomainDefPostParse() >>> >>> + case VIR_ARCH_ALPHA: >>> + case VIR_ARCH_PPC: >>> + case VIR_ARCH_PPC64: >>> + case VIR_ARCH_PPCEMB: >>> + case VIR_ARCH_SH4: >>> + case VIR_ARCH_SH4EB: >>> + addPCIRoot = true; >>> + break; >>> + default: >>> + break; >>> >>> I smell a case for s390 is needed somehow. >> >> Not here, it would result in it getting an implicit PCI controller in >> the XML, even though it doesn't have a PCI bus. >> >> The right thing would be to catch all the non-PCI devices we assign an >> adddress to. Or we could just assume 1 PCI bus is always available as a >> desperate measure not to break anything. > I am currently testing the workaround adding a fake PCI root. Will get > you posted. If that works it will give us time to come up with a > cleaner solution for the next release. I don't want to unconditionally > disable PCI for s390 even if it is not implemented in today's QEMUs. Other than the none USB controller fix, which I've already pushed, it seems the patches I posted before that to fix it have finally made it through: https://www.redhat.com/archives/libvir-list/2013-April/msg01946.html If we really have to do a workaround, I'd suggest just ignoring the PCI root and assuming one PCI bus is always there. I fear adding PCI roots to machines that don't have them would cause us similar trouble that the implicit USB controller does now. Jan -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list