|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] Re: virtio-serial: An interface for host-guest communication |
Date: | Wed, 05 Aug 2009 13:00:57 -0500 |
User-agent: | Thunderbird 2.0.0.21 (X11/20090320) |
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
[Prev in Thread] | Current Thread | [Next in Thread] |