[Qemu-devel] Re: virtio-serial: An interface for host-guest communication

Amit Shah amit.shah at redhat.com
Thu Aug 6 03:38:43 PDT 2009


On (Wed) Aug 05 2009 [13:00:57], Anthony Liguori wrote:
> 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.

And the virtio code is pretty simple and self-contained. I don't see why
we'd restrict us more to use something else.

>> 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).

Sure; but there's been no resistance from anyone from including the
virtio-serial device driver so maybe we don't need to discuss that.

		Amit


More information about the Virtualization mailing list