Re: [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication
- From: Amit Shah <amit.shah@xxxxxxxxxx>
- Date: Tue, 15 Sep 2009 18:07:52 +0530
[Adding Greg to the CC list]
On (Fri) Sep 11 2009 [17:00:10], Alan Cox wrote:
The interface presented to guest userspace is of a simple char
device, so it can be used like this:
fd = open("/dev/vcon2", O_RDWR);
ret = read(fd, buf, 100);
ret = write(fd, string, strlen(string));
Each port is to be assigned a unique function, for example, the
first 4 ports may be reserved for libvirt usage, the next 4 for
generic streaming data and so on. This port-function mapping
isn't finalised yet.
Unless I am missing something this looks completely bonkers
Every time we have a table of numbers for functionality it ends in
tears. We have to keep tables up to date and managed, we have to
administer the magical number to name space.
Anyway - you don't seem to need a fixed number you can use dynamic
allocation and udev.
There are at least two better ways to do this
- Using sysfs nodes so you have a proper heirarchy of names/functions
- Using a simple file system which provides a heirarchy of nodes whose
enumeration and access is backed by calls to whatever happyvisor you
are using.
it then self enumerates, self populates, doesn't need anyone to keep
updating magic tables of guest code and expands cleanly - yes ?
Hey Greg,
Can you tell me how this could work out -- each console port could have
a "role" string associated with it (obtainable from the invoking qemu
process in case of qemu/kvm). Something that I have in mind currently
is:
$ qemu-kvm ... -virtioconsole role=org/qemu/clipboard
and then the guest kernel sees the string, and puts the
"org/qemu/clipboard" in some file in sysfs. Guest userspace should then
be able to open and read/write to
/dev/virtio_console/org/qemu/clipboard
I guess that's an acceptable scheme to all.
I also don't know how this would work -- which sysfs attributes to
export and how would udev pick that up and create the device at the
specified location.
Any pointers appreciated.
Thanks,
Amit
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- Multiple ports support for virtio_console; major number for dev
- From: Amit Shah
- [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication
- From: Amit Shah
- Re: [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication
- From: Alan Cox
- Multiple ports support for virtio_console; major number for dev
- Prev by Date: Re: [ofa-general] Re: [GIT PULL] please pull ummunotify
- Next by Date: Re: [PATCH 2/4] virtual block device driver (ramzswap)
- Previous by thread: Re: [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication
- Next by thread: Re: [PATCH] virtio_console: Add support for multiple ports for generic guest and host communication
- Index(es):
Relevant Pages
|