Re: [PATCH/RFC 7/9] Virtual network guest device driver

Eric Van Hensbergen
2007-05-23T14:12:25Z

On 5/23/07, Carsten Otte <cotte-tA70FqPdS9bQT0dZR+AlfA@public.gmane.org> wrote:
>
> For me, plan9 does provide answers to a lot of above requirements.
> However, it does not provide capabilities for shared memory and it
> adds extra complexity. It's been designed to solve a different problem.
>

As a point of clarification, plan9 protocols have been used over
shared memory for resource access on virtualized systems for the past
3 years. There are certainly ways it can be further optimized, but it
is not a restriction. As far as complexity goes, our guest-side stack
is around 2000 lines of code (with an additional 1000 lines of support
routines that could likely be replaced by standard library or OS
services in more conventional platforms) and supports console, file
system, network, and block device access.

> I think the virtual device abstraction should provide the following
> functionality:
> - hypercall guest to host with parameters and return value
> - interrupt from host to guest with parameters
> - thin interrupt from host to guest, no parameters
> - shared memory between guest and host
> - dma access to guest memory, possibly via kmap on the host
> - copy from/to guest memory
>

Good list. We can certainly work within these parameters. It would
be nice to have some facility for direct guest<->guest communication
-- however, I understand the difficulties in doing that in a secure
and safe way. Still, having the ability to provision such a direct
interface would be nice for those that can take advantage of it.

-eric