On Wed, Sep 14, 2011 at 10:42:25AM +0200, Alexander Graf wrote: > From: Paolo Bonzini <pbonz...@redhat.com> > > Right now the spapr devices cannot be instantiated with -device, > because the IRQs need to be passed to the spapr_*_create functions. > Do this instead in the bus's init wrapper. > > This is particularly important with the conversion from scsi-disk > to scsi-{cd,hd} that Markus made. After his patches, if you > specify a scsi-cd device attached to an if=none drive, the default > VSCSI controller will not be created and, without qdevification, > you will not be able to add yours. > > NOTE from agraf: added small compile fix
Thanks for fixing this, Paolo. Since writing that code, I've realised it doesn't really fit the model correctly, but haven't gotten around to fixing it yet. I will make a later patch to move the irq allocation from the vio bus to the xics itself, which will matter once we add PCI and/or other busses. A question about qdev stuff. Under PAPR, there is generally only supposed to be one SCSI target (disk / cd / whatever) per virtual scsi bus. But the generic qdev code will, by default, keep assigning devices to the existing bus until it's full. Any thoughts on how to sanely change that behaviour on a per-machine basis? We'll have a similar problem later on with PCI - PAPR machines usually only have one device per host bridge, for better isolation. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson