On Wed, Jul 26, 2017 at 07:22:42PM +0300, Marcel Apfelbaum wrote: > On 26/07/2017 18:20, Laszlo Ersek wrote: > > On 07/26/17 08:48, Marcel Apfelbaum wrote: > > > On 25/07/2017 18:46, Laszlo Ersek wrote: > > > > [snip] > > > > > > (2) Bus range reservation, and hotplugging bridges. What's the > > > > motivation? Our recommendations in "docs/pcie.txt" suggest flat > > > > hierarchies. > > > > > > > > > > It remains flat. You have one single PCIE-PCI bridge plugged > > > into a PCIe Root Port, no deep nesting. > > > > > > The reason is to be able to support legacy PCI devices without > > > "committing" with a DMI-PCI bridge in advance. (Keep Q35 without) > > > legacy hw. > > > > > > The only way to support PCI devices in Q35 is to have them cold-plugged > > > into the pcie.0 bus, which is good, but not enough for expanding the > > > Q35 usability in order to make it eventually the default > > > QEMU x86 machine (I know this is another discussion and I am in > > > minority, at least for now). > > > > > > The plan is: > > > Start Q35 machine as usual, but one of the PCIe Root Ports includes > > > hints for firmware needed t support legacy PCI devices. (IO Ports range, > > > extra bus,...) > > > > > > Once a pci device is needed you have 2 options: > > > 1. Plug a PCIe-PCI bridge into a PCIe Root Port and the PCI device > > > in the bridge. > > > 2. Hotplug a PCIe-PCI bridge into a PCIe Root Port and then hotplug > > > a PCI device into the bridge. > > > > Hi Laszlo, > > > Thank you for the explanation, it makes the intent a lot clearer. > > > > However, what does the hot-pluggability of the PCIe-PCI bridge buy us? > > In other words, what does it buy us when we do not add the PCIe-PCI > > bridge immediately at guest startup, as an integrated device? > > > Why is it a problem to "commit" in advance? I understand that we might > > not like the DMI-PCI bridge (due to it being legacy), but what speaks > > against cold-plugging the PCIe-PCI bridge either as an integrated device > > in pcie.0 (assuming that is permitted), or cold-plugging the PCIe-PCI > > bridge in a similarly cold-plugged PCIe root port? > > > > We want to keep Q35 clean, and for most cases we don't want any > legacy PCI stuff if not especially required.
BTW, what are the PCI devices that we actually need? -- MST