On 07/23/2013 11:17 AM, Daniel P. Berrange wrote:
On Tue, Jul 23, 2013 at 10:44:55AM -0400, Laine Stump wrote:
> This controller is implicit on q35 machinetypes. It provides 31 PCIe
> (*not* PCI) slots as controller 0.
>
> Currently there are no devices that can connect to pcie-root. For a
> usable q35 system, we still need to add a "dmi-to-pci-bridge" pci
> controller, which can connect to pcie-root, and provides pci slots.
Presumably you have another patch which auto-adds a 'dmi-to-pci-bridge'
device when we see a q35 machine, so that auto-PCI address assignment
still works ? If we relied on the user to add that device, then legacy
apps will not work against a QEMU which defaults to q35, since they'll
be adding PCI devices but not know that they need to add this bridge.
Yes, that is in the works, although it may not be finished today. The
idea is that when you try to get a slot for a PCI device and you only
have pcie slots, we would add a dmi-to-pci-bridge (which provides pci
slots that *can't* be hot-plugged) on a pcie slot, then a pci-bridge
(which provides hot-pluggable pci slots) on the dmi-to-pci-bridge. After
that, all devices that required a hot-pluggable pci slot would
automatically be directed to the pci-bridge.
(Thinking more about it, I guess I do need to *always* add them even
when there are no devices, to allow for hot-plugging later (since we
can't hot-plug a dmi-to-pci-bridge or a pci-bridge). Fortunately that
makes it simpler).