qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 3/4] virtio-console: Add support for multiple po


From: Gerd Hoffmann
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
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Lightning/1.0pre Thunderbird/3.0b3

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 via email to

[Prev in Thread] Current Thread [Next in Thread]