Alexey Kardashevskiy <a...@ozlabs.ru> writes: > On 03/06/16 16:40, Markus Armbruster wrote: >> Commit 09aa9a5 "spapr-pci: enable adding PHB via -device" set >> cannot_instantiate_with_device_add_yet without also adding a comment >> explaining why. It is currently the only one lacking such a comment. >> Let's fix that. >> >> Unfortunately, the commit message doesn't tell me (or I'm too dense to >> understand it): >> >> spapr-pci: enable adding PHB via -device >> >> Recent changes introduced cannot_instantiate_with_device_add_yet >> and removed capability of adding yet another PCI host bridge via >> command line for SPAPR platform (POWERPC64 server). >> >> This brings the capability back and puts SPAPR PHB into "bridge" >> category. >> >> This is not much use for emulated PHB but it is absolutely required >> for VFIO as we put an IOMMU group onto a separate PHB on SPAPR. >> >> Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> >> Signed-off-by: Alexander Graf <ag...@suse.de> >> >> Alexey, can you explain why the device cannot be used with -device / >> device_add? > > It can be used with "-device" with as it is today, i.e. with > "cannot_instantiate_with_device_add_yet=false".
I misread the code. But the assignment needs an explanation anyway :) > With "cannot_instantiate_with_device_add_yet=true", I get this: > > qemu-system-ppc64: -device spapr-pci-host-bridge,id=phb10,index=10: > Parameter 'driver' expects pluggable device type > > > At that moment (sha1 09aa9a526a86fd2e380e86^) it failed because of > inherited "cannot_instantiate_with_device_add_yet=true" from > sysbus_device_class_init() (which is gone now): > > qemu-system-ppc64: -device spapr-pci-host-bridge,id=phb10,index=10: > Parameter 'driver' expects pluggable device type > > So there was my patch. > > > "device_add" is different, it does not work because: > (qemu) device_add spapr-pci-host-bridge > Bus 'main-system-bus' does not support hotplugging > > Which I am not sure if it is true for all platforms or just spapr/ppc64 but > I do not care much now as there is some work to do anyway to support PHB > hotplug as per LoPAPR specification anyway. > > Does this help? :) Now you made me read the code more carefully, I have different questions. Can we delete the assignment? -device spapr-pci-host-bridge,id=phb10,index=10 still works for me then. If not, why?