[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 2/2] hmp/qxl: info spice: add qxl0_mode & qxl0_gue
From: |
Alon Levy |
Subject: |
Re: [Qemu-devel] [RFC 2/2] hmp/qxl: info spice: add qxl0_mode & qxl0_guest_bug |
Date: |
Mon, 21 May 2012 14:35:14 +0300 |
User-agent: |
Mutt/1.5.21 (2011-07-01) |
On Mon, May 21, 2012 at 11:22:16AM +0200, Gerd Hoffmann wrote:
> Hi,
>
> > + if (info->qxl0_guest_bug != -1 && info->qxl0_mode != -1) {
> > + monitor_printf(mon, " qxl0\n");
> > + monitor_printf(mon, " guest_bug: %"PRIu64"d\n",
> > info->qxl0_guest_bug);
> > + monitor_printf(mon, " mode: %s\n",
> > + SpiceQueryQXLMode_lookup[info->qxl0_mode]);
> > + }
>
> Anything else we might want export while being at it? For example
> whenever guest drivers use sync or async io commands?
>
> What about secondary displays?
OK, so I can fix this and remove the qxl0 hack at the same stroke. I was
looking at using the system_bus, but that seems like another hack. The
alternative is to keep a linked list of qxl devices private to qxl.c and
use that, and the below functions become
int qxl_guest_bug(int index)
int qxl_mode(int index)
int qxl_device_count(void)
How does that sound?
>
> > +/* helpers for spice_info. only show first device */
> > +int qxl0_guest_bug(void)
> > +{
> > + if (!qxl0) {
> > + return -1;
> > + }
> > + return qxl0->guest_bug;
> > +}
> > +
> > +int qxl0_mode(void)
> > +{
> > + if (!qxl0) {
> > + return -1;
> > + }
> > + return qxl0->mode;
> > +}
>
> Hmm, that is a bit hackish. qxl0 exists only for the reason that
> displaychangelisteners don't support passing through a opaque pointer
> (or other way to get the state). I'd prefer to get rid of it, not add
> more uses, although I can see that it is convenient ...
>
>
> cheers,
> Gerd