qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: "Stefan Berger" <stefanb@linux.vnet.ibm.com>,
	"Andreas Färber" <afaerber@suse.de>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] QOM-ify QemuConsoles ...
Date: Wed, 20 Mar 2013 17:00:31 +0100	[thread overview]
Message-ID: <5149DD1F.3090803@redhat.com> (raw)
In-Reply-To: <87ppyuf82h.fsf@codemonkey.ws>

  Hi,

> I think the first step is to figure out what the relationships are.  I
> was looking through the changes and vaguely, it appears that its:
> 
>  - Each UI has one or more DisplayChangeListeners

Yes.

>  - Each DisplayChangeListener can be mapped to 1 or more QemuConsoles

Each DisplayChangeListener shows one QemuConsole at a time.

The relationship can either be fixed (gtk, spice), so the
DisplayChangeListener shows the very same QemuConsole all the time.

Or the DisplayChangeListener shows the "active" console, so each
console_select() call will change the QemuConsole it is showing.

I'm happy with that for the moment.

>  - Each QemuConsole can then be mapped to some thing that's drawing.

Yes.  This is what I want model first for sane qapi interfaces.

We have graphical QemuConsoles, which are linked directly to a emulated
graphic card (they create one via graphic_console_init).

We have text QemuConsoles, which are linked directly to a vc chardev,
then indirectly via chardev to something else, which could be either a
guest device (serial line) or some qemu thingy (monitor).

I want a qmp command which can write out screen dumps from any graphic
card (and if it happens to be easy from vc consoles too, but that isn't
a priority).  And I want some sane API for that.  I think QOM is the way
to go for that.  Specify the gfx card by id or path, then go find the
QemuConsole belonging to it using QOM, then dump it.

There is also the input side of things.  I want add a QemuConsole
argument to the kbd_put_keycode + kbd_mouse_event so the qemu input code
has an idea where the event came from.  Then have some way to link input
devices to QemuConsoles, so we can route events to different input
devices depending on the source.  Where I thing again QOM is the best
answer for "some way".

cheers,
  Gerd

  reply	other threads:[~2013-03-20 16:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-20  9:55 [Qemu-devel] QOM-ify QemuConsoles Gerd Hoffmann
2013-03-20 13:39 ` Andreas Färber
2013-03-20 14:40   ` Anthony Liguori
2013-03-20 16:00     ` Gerd Hoffmann [this message]
2013-03-20 22:51   ` Stefan Berger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5149DD1F.3090803@redhat.com \
    --to=kraxel@redhat.com \
    --cc=afaerber@suse.de \
    --cc=anthony@codemonkey.ws \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanb@linux.vnet.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).