Re: virtio-serial: A guest <-> host interface for simple communication

Amit Shah
2009-06-24T12:39:45Z

On (Wed) Jun 24 2009 [13:45:01], Rusty Russell wrote:
> On Tue, 23 Jun 2009 10:12:31 pm Amit Shah wrote:
> > Hello,
> >
> > Here are two patches. One implements a virtio-serial device in qemu
> > and the other is the driver for a guest kernel.
> >
> > While working on a vmchannel interface that is needed for communication
> > between guest userspace and host userspace, I saw that most of the
> > interface can be abstracted out as a "serial" device with "ports".
>
> OK, I don't think the "naming" idea works though. A userspace user would have
> to open each one in turn to get its name. I'd stick with numbers.

What if an ioctl were added to get the port number from the port name?
Userspace would do
ioctl(fd, VIRTIO_SERIAL_GET_PORT_FROM_NAME, &nr);
sprintf(port, "/dev/vmch%s", nr);
fd2 = open(port, ...);

?

> You also don't have dynamic creation and removal, except by hotpluging the
> entire device (which was on your requirements page).

Actually we're more interested in hotplugging ports than the device
itself ("Dynamic channel creation").

> what ports exist. Register on the change interrupt to get updates. Drop the
> control vq entirely.

If the ioctl mentioned above were added, it would justify the control
vq, right?

Thanks for the comments,
Amit