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". 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? :) -- Alexey