All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.