On Tue, May 29, 2012 at 09:25:40AM +0200, Gerd Hoffmann wrote: > Hi, > > >> How would that work? I have QXLInfo that only makes sense when the > >> information is about a qxl device. Can't have opaque data in a QMP > >> response, so would this be a "info display qxl" "info display cirrus" > >> etc. or "info qxl"? > > > > You could show what's available and/or being used currently. > > I think (Alon, correct me if I'm wrong) the use case is being able to > figure whenever the guest drivers are installed and active. > > There isn't much point in doing that for stdvga and cirrus IMHO. It > might be useful for other paravirtual devices where we have to install > drivers (in windows guests, also older linux). I'm not sure it is > possible given that ipxe and seabios support booting from > virtio-{blk,net,scsi}, so you'll see the device being used even if the > guest os lacks drivers ...
I haven't really generalized it, but you make much sense, more then info display - so maybe I could put this under "info paravirt", have a list and a register function, with qxl the only registered callback for the info command. This doesn't answer my other technical (and probably having an obvious solution I'm missing) question about the type to use - I could have a: { 'type': 'QXLInfo', 'data': {'id': 'int', 'guest_bug': 'int', 'mode': 'SpiceQueryQXLMode'} } (like I do now) And then aggregate that via lists with possibly zero members: { 'type': 'ParaVirtInfo', 'data': {'qxl': ['QXLInfo'], 'virtserial': [VirtSerialInfo]} } Luiz, is there a better solution? > > cheers, > Gerd >