From: Anthony Liguori <anthony@codemonkey.ws>
To: Jamie Lokier <jamie@shareable.org>
Cc: "Richard W.M. Jones" <rjones@redhat.com>,
Amit Shah <amit.shah@redhat.com>,
qemu-devel@nongnu.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [Qemu-devel] Re: virtio-serial: An interface for host-guest communication
Date: Wed, 05 Aug 2009 13:00:57 -0500 [thread overview]
Message-ID: <4A79C8D9.5030606@codemonkey.ws> (raw)
In-Reply-To: <20090805175713.GB28738@shareable.org>
Jamie Lokier wrote:
> Anthony Liguori wrote:
>
>> Richard W.M. Jones wrote:
>> Have you considered using a usb serial device? Something attractive
>> about it is that a productid/vendorid can be specified which means that
>> you can use that as a method of enumerating devices.
>>
>> Hot add/remove is supported automagically.
>>
>
> The same applies to PCI: productid/vendorid (and subids);
> PCI hotplug is possible though not as native as USB.
>
What's nice about USB is that HID specifies quite a few functional
generic devices that can be extended to increase functionality. This
means you can implement a more sophisticated usb device that satisfies
the serial interface, provide a special more featureful driver for
Linux, and just use normal serial for Windows.
The downside is that USB emulation stinks.
> Here's another idea: Many devices these days have a serial number or
> id string. E.g. USB storage, ATA drives, media cards, etc. Linux
> these days creates alias device nodes which include the id string in
> the device name. E.g. /dev/disks/by-id/ata-FUJITSU_MHV2100BH_NWAQT662615H
>
> So in addition to (or instead of) /dev/vmch0, /dev/vmch1 etc.,
> Linux guests could easily generate:
>
> /dev/vmchannel/by-role/clipboard-0
> /dev/vmchannel/by-role/gueststats-0
> /dev/vmchannel/by-role/vmmanager-0
>
> It's not necessary to do this at the beginning. All that is needed is
> to provide enough id information that will appear in /sys/..., so that
> that a udev policy for naming devices can be created at some later date.
>
Well my thinking is that the "clipboard" device actually becomes a USB
serial device. It's easy to enumerate and detect via the existing Linux
infrastructure. Plus usb drivers can be implemented in userspace which
is a nice plus (cross platform too via libusb).
Regards,
Anthony Liguori
> -- Jamie
>
WARNING: multiple messages have this Message-ID (diff)
From: Anthony Liguori <anthony@codemonkey.ws>
To: Jamie Lokier <jamie@shareable.org>
Cc: Amit Shah <amit.shah@redhat.com>,
virtualization@lists.linux-foundation.org,
"Richard W.M. Jones" <rjones@redhat.com>,
kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: virtio-serial: An interface for host-guest communication
Date: Wed, 05 Aug 2009 13:00:57 -0500 [thread overview]
Message-ID: <4A79C8D9.5030606@codemonkey.ws> (raw)
In-Reply-To: <20090805175713.GB28738@shareable.org>
Jamie Lokier wrote:
> Anthony Liguori wrote:
>
>> Richard W.M. Jones wrote:
>> Have you considered using a usb serial device? Something attractive
>> about it is that a productid/vendorid can be specified which means that
>> you can use that as a method of enumerating devices.
>>
>> Hot add/remove is supported automagically.
>>
>
> The same applies to PCI: productid/vendorid (and subids);
> PCI hotplug is possible though not as native as USB.
>
What's nice about USB is that HID specifies quite a few functional
generic devices that can be extended to increase functionality. This
means you can implement a more sophisticated usb device that satisfies
the serial interface, provide a special more featureful driver for
Linux, and just use normal serial for Windows.
The downside is that USB emulation stinks.
> Here's another idea: Many devices these days have a serial number or
> id string. E.g. USB storage, ATA drives, media cards, etc. Linux
> these days creates alias device nodes which include the id string in
> the device name. E.g. /dev/disks/by-id/ata-FUJITSU_MHV2100BH_NWAQT662615H
>
> So in addition to (or instead of) /dev/vmch0, /dev/vmch1 etc.,
> Linux guests could easily generate:
>
> /dev/vmchannel/by-role/clipboard-0
> /dev/vmchannel/by-role/gueststats-0
> /dev/vmchannel/by-role/vmmanager-0
>
> It's not necessary to do this at the beginning. All that is needed is
> to provide enough id information that will appear in /sys/..., so that
> that a udev policy for naming devices can be created at some later date.
>
Well my thinking is that the "clipboard" device actually becomes a USB
serial device. It's easy to enumerate and detect via the existing Linux
infrastructure. Plus usb drivers can be implemented in userspace which
is a nice plus (cross platform too via libusb).
Regards,
Anthony Liguori
> -- Jamie
>
next prev parent reply other threads:[~2009-08-05 18:01 UTC|newest]
Thread overview: 175+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-27 18:04 virtio-serial: An interface for host-guest communication Amit Shah
2009-07-27 18:04 ` [Qemu-devel] " Amit Shah
2009-07-27 18:04 ` [PATCH 1/1] virtio_serial: A char device for simple guest <-> host communication Amit Shah
2009-07-27 18:04 ` Amit Shah
2009-07-27 18:04 ` [Qemu-devel] " Amit Shah
2009-07-27 18:04 ` [PATCH 1/3] virtio-serial: virtio device for simple host <-> guest communication Amit Shah
2009-07-27 18:04 ` [Qemu-devel] " Amit Shah
2009-07-27 18:04 ` [PATCH 2/3] vnc: add a is_vnc_active() helper Amit Shah
2009-07-27 18:04 ` Amit Shah
2009-07-27 18:04 ` [Qemu-devel] " Amit Shah
2009-07-27 18:04 ` [PATCH 3/3] virtio-serial: vnc: support for sending / receiving guest clipboard Amit Shah
2009-07-27 18:04 ` Amit Shah
2009-07-27 18:04 ` [Qemu-devel] " Amit Shah
2009-07-27 18:04 ` [PATCH 1/3] virtio-serial: virtio device for simple host <-> guest communication Amit Shah
2009-08-05 0:03 ` [PATCH 1/1] virtio_serial: A char device for simple guest <-> host communication Rusty Russell
2009-08-05 0:03 ` [Qemu-devel] " Rusty Russell
2009-08-05 5:12 ` Amit Shah
2009-08-05 5:12 ` [Qemu-devel] " Amit Shah
2009-08-05 9:58 ` Amit Shah
2009-08-05 9:58 ` Amit Shah
2009-08-05 9:58 ` [Qemu-devel] " Amit Shah
2009-08-05 0:03 ` Rusty Russell
2009-07-27 20:22 ` virtio-serial: An interface for host-guest communication Anthony Liguori
2009-07-27 20:22 ` [Qemu-devel] " Anthony Liguori
2009-07-27 20:32 ` Daniel P. Berrange
2009-07-27 20:37 ` Anthony Liguori
2009-07-27 20:37 ` Anthony Liguori
2009-07-27 20:46 ` Jamie Lokier
2009-07-27 20:46 ` Jamie Lokier
2009-07-27 23:44 ` Anthony Liguori
2009-07-27 23:44 ` Anthony Liguori
2009-07-27 23:44 ` Anthony Liguori
2009-07-28 10:36 ` Amit Shah
2009-07-28 10:36 ` Amit Shah
2009-07-28 13:42 ` Anthony Liguori
2009-07-29 7:44 ` Amit Shah
2009-07-29 7:44 ` Amit Shah
2009-07-29 7:44 ` Amit Shah
2009-07-29 7:48 ` Gleb Natapov
2009-07-29 7:48 ` Gleb Natapov
2009-07-29 7:48 ` Gleb Natapov
2009-08-05 18:00 ` Jamie Lokier
2009-08-05 18:00 ` Jamie Lokier
2009-08-05 18:00 ` Jamie Lokier
2009-07-28 13:42 ` Anthony Liguori
2009-07-28 10:36 ` Amit Shah
2009-07-28 14:00 ` Richard W.M. Jones
2009-07-28 14:00 ` Richard W.M. Jones
2009-07-28 14:48 ` Anthony Liguori
2009-07-28 14:55 ` Richard W.M. Jones
2009-07-28 15:00 ` Anthony Liguori
2009-07-28 15:00 ` Anthony Liguori
2009-07-28 14:55 ` Richard W.M. Jones
2009-07-28 14:48 ` Anthony Liguori
2009-08-03 19:57 ` Anthony Liguori
2009-08-03 19:57 ` Anthony Liguori
2009-08-05 17:57 ` Jamie Lokier
2009-08-05 17:57 ` Jamie Lokier
2009-08-05 17:57 ` Jamie Lokier
2009-08-05 18:00 ` Anthony Liguori [this message]
2009-08-05 18:00 ` Anthony Liguori
2009-08-06 10:38 ` Amit Shah
2009-08-06 10:38 ` Amit Shah
2009-08-06 13:29 ` Anthony Liguori
2009-08-06 13:29 ` Anthony Liguori
2009-08-06 13:41 ` Amit Shah
2009-08-06 13:41 ` Amit Shah
2009-08-06 13:58 ` Anthony Liguori
2009-08-06 13:58 ` Anthony Liguori
2009-08-06 13:58 ` Anthony Liguori
2009-08-06 14:04 ` Amit Shah
2009-08-06 14:04 ` Amit Shah
2009-08-06 17:37 ` Jamie Lokier
2009-08-06 17:37 ` Jamie Lokier
2009-08-06 17:37 ` Jamie Lokier
2009-08-07 6:38 ` Amit Shah
2009-08-07 6:38 ` Amit Shah
2009-08-07 14:14 ` Anthony Liguori
2009-08-07 14:14 ` Anthony Liguori
2009-08-10 6:55 ` Amit Shah
2009-08-10 6:55 ` Amit Shah
2009-08-10 9:47 ` Gerd Hoffmann
2009-08-10 9:47 ` Gerd Hoffmann
2009-08-10 9:47 ` Gerd Hoffmann
2009-08-10 13:02 ` Anthony Liguori
2009-08-10 13:02 ` Anthony Liguori
2009-08-10 14:02 ` Gerd Hoffmann
2009-08-10 14:02 ` Gerd Hoffmann
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 15:34 ` Gerd Hoffmann
2009-08-10 15:34 ` Gerd Hoffmann
2009-08-10 16:59 ` Anthony Liguori
2009-08-10 16:59 ` Anthony Liguori
2009-08-10 17:27 ` Anthony Liguori
2009-08-10 17:27 ` Anthony Liguori
2009-08-10 17:27 ` Anthony Liguori
2009-08-12 18:27 ` Paul Brook
2009-08-12 18:27 ` Paul Brook
2009-08-12 18:27 ` Paul Brook
2009-08-14 8:15 ` Amit Shah
2009-08-14 8:15 ` Amit Shah
2009-08-14 13:29 ` Anthony Liguori
2009-08-14 13:29 ` Anthony Liguori
2009-08-14 13:29 ` Anthony Liguori
2009-08-14 13:41 ` Amit Shah
2009-08-14 13:41 ` Amit Shah
2009-08-14 13:41 ` Amit Shah
2009-08-20 13:42 ` Amit Shah
2009-08-20 13:42 ` Amit Shah
2009-08-20 13:42 ` Amit Shah
2009-08-20 14:25 ` Daniel P. Berrange
2009-08-20 14:25 ` Daniel P. Berrange
2009-08-20 14:38 ` Amit Shah
2009-08-20 14:38 ` Amit Shah
2009-08-20 14:42 ` Amit Shah
2009-08-20 14:42 ` Amit Shah
2009-08-20 14:42 ` Amit Shah
2009-08-14 13:49 ` Gerd Hoffmann
2009-08-14 13:49 ` Gerd Hoffmann
2009-08-14 16:25 ` Anthony Liguori
2009-08-14 16:25 ` Anthony Liguori
2009-08-14 16:25 ` Anthony Liguori
2009-08-20 7:31 ` Rusty Russell
2009-08-20 7:31 ` Rusty Russell
2009-08-20 7:31 ` Rusty Russell
2009-08-20 7:44 ` Gerd Hoffmann
2009-08-20 7:44 ` Gerd Hoffmann
2009-08-20 7:55 ` Amit Shah
2009-08-20 7:55 ` Amit Shah
2009-08-20 17:10 ` Jamie Lokier
2009-08-20 17:10 ` Jamie Lokier
2009-08-20 17:10 ` Jamie Lokier
2009-08-20 7:55 ` Amit Shah
2009-08-25 12:43 ` Rusty Russell
2009-08-25 12:43 ` Rusty Russell
2009-08-25 12:43 ` Rusty Russell
2009-08-25 13:00 ` Gerd Hoffmann
2009-08-25 13:00 ` Gerd Hoffmann
2009-08-25 13:00 ` Gerd Hoffmann
2009-08-20 7:44 ` Gerd Hoffmann
2009-08-14 8:15 ` Amit Shah
2009-08-10 16:59 ` Anthony Liguori
2009-08-10 15:34 ` Gerd Hoffmann
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 14:20 ` Anthony Liguori
2009-08-10 14:02 ` Gerd Hoffmann
2009-08-10 13:02 ` Anthony Liguori
2009-08-10 23:09 ` Rusty Russell
2009-08-10 23:09 ` Rusty Russell
2009-08-10 23:09 ` Rusty Russell
2009-08-11 0:16 ` Anthony Liguori
2009-08-11 0:16 ` Anthony Liguori
2009-08-11 0:16 ` Anthony Liguori
2009-08-10 14:27 ` Anthony Liguori
2009-08-10 14:27 ` Anthony Liguori
2009-08-10 15:57 ` Gerd Hoffmann
2009-08-10 15:57 ` Gerd Hoffmann
2009-08-10 15:57 ` Gerd Hoffmann
2009-08-07 6:38 ` Amit Shah
2009-08-06 14:04 ` Amit Shah
2009-08-06 13:41 ` Amit Shah
2009-08-06 13:29 ` Anthony Liguori
2009-08-06 10:38 ` Amit Shah
2009-08-05 18:00 ` Anthony Liguori
2009-08-06 10:35 ` Amit Shah
2009-08-06 10:35 ` Amit Shah
2009-08-06 10:35 ` Amit Shah
2009-08-05 18:32 ` Richard W.M. Jones
2009-08-05 18:32 ` Richard W.M. Jones
2009-07-27 20:46 ` Jamie Lokier
2009-07-27 20:32 ` Daniel P. Berrange
2009-07-27 20:22 ` Anthony Liguori
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=4A79C8D9.5030606@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=amit.shah@redhat.com \
--cc=jamie@shareable.org \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=rjones@redhat.com \
--cc=virtualization@lists.linux-foundation.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.