On 11/16/2015 11:56 AM, Paolo Bonzini wrote:
On 16/11/2015 10:52, Marcel Apfelbaum wrote:
On 11/16/2015 10:40 AM, Paolo Bonzini wrote:
On 15/11/2015 16:39, Marcel Apfelbaum wrote:
Addressed Gerd Hoffmann comments:
- Added x-enable-internal-bridge compat property to keep the PCI
bridge for older machine to avoid breaking migration.
This will break PXB command lines written for "-M pc" in QEMU <= 2.5.
Technically there's no prohibition against doing so, but we've never
done it; I'm not sure why we should start doing so now.
Hi Paolo,
Can you please explain how does it break the command line?
For QEMU < 2.5 we automatically have the x-enable-internal-bridge
compat property "on"
so the command line remains the same.
For QEMU >= 2.5 is "off" by default and the bridge disappear, without
command line changes.
If you were using "-M pc", and you expected "-device" to place things
under the PCI-to-PCI bridge, that command line will not work anymore I
think.
Actually the command line would work. The devices will be placed on the root bus
instead of the pci bridge bus. The trick here is that we name the bus the
devices
will be attached to by the pxb id.
- When we have the bridge -> the pxb id will be used for the secondary bus
- when don't have the bridge -> the pxb id wil be used for the root bus.
Both times the command line remains -device pxb,id=my_root -device
e1000,bus=my_root
Management tools can work around it. They can always set the new
property to off---which by the way means it should not be "x"
prefixed---and assume the PCI-to-PCI bridge is there if the property
doesn't exist. But it's inconvenient, and we try to avoid lockstep
changes to QEMU and management.
I understand, I'll implement this as a new device "pxb-pcie"
Thanks,
Marcel
Paolo
Can we have two devices, on for a PCI expander bridge and one for a PCIe
expander bridge?
Gerd also asked for this, OK, I am going for it.
Thanks,
Marcel
Paolo