On (Tue) Sep 22 2009 [12:14:04], Rusty Russell wrote: > On Sat, 12 Sep 2009 01:30:10 am 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. > > The number comes from the ABI; we need some identifier for the different > ports. Amit started using names, and I said "just use numbers"; they have > to be documented and agreed by all clients anyway. > > ie. the host says "here's a port id 7", which might be the cut & paste > port or whatever. Yeah; port 0 has to be reserved for a console (and then we might need to do a bit more for multiple consoles -- hvc operates on a 'vtermno', so we need to allocate them as well). Also, a 'name' property can be attached to ports, as has been suggested: qemu ... -device virtconport,name=org.qemu.clipboard,port=3,... spawns a port at id 3 and the guest will also place a file: /sys/class/virtio-console/vcon3/name which has "org.qemu.clipboard" as contents, so udev scripts could create a symlink: /dev/vcon/org.qemu.clipboard -> /dev/vcon3 Amit _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization