From: Gerd Hoffmann <kraxel@redhat.com>
To: Amit Shah <amit.shah@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 3/4] virtio-console: Add support for multiple ports for generic guest-host communication
Date: Wed, 23 Sep 2009 14:30:39 +0200 [thread overview]
Message-ID: <4ABA14EF.2050703@redhat.com> (raw)
In-Reply-To: <20090923115043.GA28088@amit-x200.redhat.com>
On 09/23/09 13:50, Amit Shah wrote:
>> VirtConPortConsole (doesn't exist right now it seems ...).
>
> You're actually suggesting to split everything -- a console (in the
> current sense) is a different device and a port (the new vmchannels) are
> different devices. Right?
Yes, you'll have two devices.
#1 virtio-console which handles all virtio and is the master of
the portbus.
#2 VirtChanPortConsole, which links the port and the chardev.
With this in place you'll have the current virtio-console functionality.
And on top you can create multiple console ports.
Then we can go enhance things and add more port drivers:
#3: One driver which allows external users (i.e. libguestfs) by linking
a chardev too and attach a name tag. That one can probably share
all code except the init function with the console port driver.
#4: the watchdog.
#5: the vnc clipboard bits.
#6: whatever else we might find useful.
Ignoring backward-compatibility for now things should go like this:
-device virtio-console
Creates the portbus master. No ports (yet).
-device vmport-console,chardev=$dev
Creates a port named 'org.qemu.console' and links it to $dev.
-device vmport-channel,chardev=$dev,name=$name
Creates a port named $name, links it to $dev, for libguestfs and
other external users.
-device vmport-watchdog
Creates a port named 'org.qemu.watchdog', start timer when the guest
openes the device, restart the watchdog timer each time the guest
writes something, trigger watchdog action when the timer expires.
Note: No chardev needed here.
-device vmport-clipboard
vnc clipboard stuff goes here. Probably needs no chardev too.
For backward-compatibility we'll allways have to create a vmport-console
at port 0, so there will never be a virtio-console without a port. That
is a minor bit we can fixup once the above works fine.
cheers,
Gerd
next prev parent reply other threads:[~2009-09-23 12:30 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-22 16:23 [Qemu-devel] Multiple port support for virtio-console Amit Shah
2009-09-22 16:23 ` [Qemu-devel] [PATCH 1/4] char: Emit 'OPENED' events on char device open Amit Shah
2009-09-22 16:23 ` [Qemu-devel] [PATCH 2/4] qdev: add string property Amit Shah
2009-09-22 16:23 ` [Qemu-devel] [PATCH 3/4] virtio-console: Add support for multiple ports for generic guest-host communication Amit Shah
2009-09-22 16:23 ` [Qemu-devel] [PATCH 4/4] virtio-console: Add a in-qemu api for open/read/write/close ports Amit Shah
2009-09-23 9:12 ` Gerd Hoffmann
2009-09-23 9:07 ` [Qemu-devel] [PATCH 3/4] virtio-console: Add support for multiple ports for generic guest-host communication Gerd Hoffmann
2009-09-23 9:43 ` Amit Shah
2009-09-23 11:20 ` Gerd Hoffmann
2009-09-23 11:50 ` Amit Shah
2009-09-23 12:30 ` Gerd Hoffmann [this message]
2009-09-23 12:40 ` Amit Shah
2009-09-23 13:04 ` Gerd Hoffmann
2009-09-23 13:17 ` Amit Shah
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=4ABA14EF.2050703@redhat.com \
--to=kraxel@redhat.com \
--cc=amit.shah@redhat.com \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.