On Fri, 11 Jan 2013 16:44:49 +0100 Wolfgang Mauerer <wolfgang.maue...@siemens.com> wrote:
> On 11/01/13 16:23, Andreas Färber wrote: > > Am 11.01.2013 16:00, schrieb Peter Maydell: > >> On 11 January 2013 13:42, Wolfgang Mauerer <wolfgang.maue...@siemens.com> > >> wrote: > >>> The configuration register for the onboard LEDs is > >>> emulated, but the state is not exported, which makes > >>> the feature not particularly useful. Create a character > >>> device to make status changes accessible to the host. > >>> > >>> For example, use the command line argument > >>> > >>> -chardev socket,id=leds,host=localhost,port=12345,server,nowait > >>> > >>> to observe status changes via a socket. > >> > >> This isn't the only board we emulate which has LEDs. I'd > >> rather see this problem tackled with a general plan for "this > >> is how we handle LEDs in QEMU boards" rather than a > >> versatile board specific patch. > > > > Hm, mips_malta.c does use a CharDriverState... just a more "structured" > > one using ASCII art. > > that's one of the reaons why I used a character device to export the > status information. > > However, a simple custom protocol (or maybe the same information in > JSON) seemed more appripriate since I assume that graphical frontends > will eventually visualise the LED status. Having to parse some ASCII > art output for this seems suboptimal. > > Exporting a binary QOM property (as you suggested in another email) > might be an option, although I'm not really sure if LED status changes > should be communicated this way -- to me, using a chardev feels nicer. > Do the QMP maintainers have an opinion? I'm not completely sure I understand the problem here, but if this is some kind of status to be queried then exporting it through a QOM property seems the right thing to do. If you go for a custom protocol, then using QMP syntax might be a good idea, as you can use our infra and clients which already know QMP will also appreciate this (this is what qemu-ga did, btw).