Marcel Apfelbaum <mar...@redhat.com> writes: > On 11/16/2015 12:11 PM, Paolo Bonzini wrote: >> >> >> On 16/11/2015 11:10, Marcel Apfelbaum wrote: >>>> What would you lose? Hotplug? >>> >>> Without the bridge? Yes. However the user can add it manually the >>> pci-bridge and have it anyway. >> >> Ok, I guess that's more or less acceptable. It's still ugly however, to >> the point that I wonder if we should rename the device and call the old >> one a failed experiment. >> > > I guess we can rename the pxb to extra-root or something, but in this way > will have a deprecated/duplicated device to support and kill in the future. > > Why not use the compat property as it is? > Again, the command line *remains* the same, the difference is where the > devices associated with the pxb will land: on the secondary bus (for QEMU < > 2.5) > or on the root bus itself (QEMU >= 2.5). > > I know is guest visible, but the guest will see one of them depending > on the machine type. > > Regarding the splitting of pxb into 2 devices (pci/pcie), I have > nothing against it, > but because the implementation is *exactly* the same I think we should gain > more > by maintaining one device.
I have no opinion on two devices vs. one device + property in this particular case, I just want to interject that I'd expect the difference in maintaince to be negligible. A second device basically takes a copy of the TypeInfo with some (trivial) init function to make it different. Might be a few more lines of code than adding a property, but in complexity, it's a wash. In case you plan to get rid of the old variant: with two devices, you deprecate and later delete the old device. With device + property, you deprecate setting the property, and later delete it. The former might be a bit easier to document. >>> I wanted to get rid of the internal pci-bridge as a default, and this >>> is why pxb and pxb-pcie are he same device now (except bus type)