On 2011-05-17 03:38, andrzej zaborowski wrote: > On 16 May 2011 15:08, Dmitry Eremin-Solenikov <dbarysh...@gmail.com> wrote: >> On 5/16/11, andrzej zaborowski <balr...@gmail.com> wrote: >>> On 16 May 2011 06:54, Dmitry Eremin-Solenikov <dbarysh...@gmail.com> wrote: >>>> Socket is required, as we have to know the QBus before creating the >>>> device on it. >>> >>> Let's skip the qbusification then. It seems that qbus is a wrong >>> choice for pcmcia and there are no new features or bugs fixed by the >>> conversion, it's code motion? I also don't see why the socket >>> structure should be needed at the creation time of a PCI device for >>> example, the BusInfo should be enough logically. >> >> Major point for qbus'ification was ability to create PCMCIA devices from >> command line/via other management tools. This would also allow us e.g. >> to move microdrive driver to common ide parts, etc. > > That would be nice but it may be better to use separate command line > switches / monitor commands for hotpluggable busses. > >> >> For creation of a DeviceState via qdev_create you need BusState (which >> is a part of PCMCIASocket). Of course I can make one global QBus for >> all PCMCIA devices and make some artificial hacks to attach/detach cards >> to artificial sockets, but this seems like a hack. > > I considered that for a moment too but it's uglier than current code > and doesn't achieve what you want, because the command line has no > provision for triggering attachment. A major problem with qdev I see > now is that the creation and attachment of a device are one event > instead of two, which is the case for pcmcia. So your patch tries to > merge these two events.
What is the point of allowing the existence of unattached pcmcia devices? I think there was similar discussion about usb to allow attach detach without delete, but IIRC that was finally rejected as there is no real benefit in avoiding full creation/destruction. Keep in mind that there may be a day where we finally obsolete support for non-qdev (or whatever it's name will be then) devices. Every device needs to be discoverable for QEMU in a generic way, e.g. to decide if there are devices attached that do not support save/restore or to explore its state. Rejecting a qdev conversion looks a bit strange from that perspective. Jan
signature.asc
Description: OpenPGP digital signature