On 04/03/2013 11:50 AM, Ján Tomko wrote: > From: liguang <lig.fnst@xxxxxxxxxxxxxx> > > add a new controller type, then one can > define a pci-bridge controller like this: > <controller type='pci-bridge' index='0'/> > <controller type='pci-bridge' index='1'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> > </controller> > actually, it works as a pci-bus, so as to support > multi-pci-bus via pci-to-pci bridge Okay. I think the result of all the discussion started by this patch is that, for the current functionality, we need to do what is in the 4 steps at the bottom of this message: https://www.redhat.com/archives/libvir-list/2013-April/msg01144.html 1) There will be a new <controller type='pci'> device, with a <model type='xyz'/> subelement. Initially we will support types "pci-root" and "pci-bridge" (all the other types discussed above can be added later). pci-root will have *no <address>* element (and will generate nothing on the qemu commandline, but will create a 32 slot "bus='0'" to plug PCI devices into). pci-bridge will have an <address> element, will generate a -device option on the qemu commandline, and will also create a 32 slot "bus='n'" to plug PCI devices into. 2) for machinetypes that have a PCI bus, the config should have this controller auto-added: <controller type='pci'> <model type='pci-root'/> </controller> This will make bus='0' available (but add nothing to the qemu commandline). Any attempt to add a PCI device when there is no bus available should be an error. 3) The way to add more buses will be to add a controller like this: <controller type='pci'> <model type='pci-bridge'/> </controller> 4) When <controller type='usb'> was added, resulting in auto-generated devices, that caused problems when migrating from a host with newer libvirt to one with older libvirt. We need to make sure we don't suffer the same problem this time. See the following two BZes for details (unless you have a better memory than me! :-): https://bugzilla.redhat.com/show_bug.cgi?id=815503 https://bugzilla.redhat.com/show_bug.cgi?id=856864 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list