Rusty Russell wrote:
[PATCH 0/6] virtio with config abstraction and ring implementation

Hi all,

        This patch series attempts to come closer to unifying kvm and lguest's
usage of virtio.  As these two are the first implementations we've seen,
I hope making them closer will make future ones closer too.

        Drivers now unpack their own configuration: their probe() methods are
uniform.  The configuration mechanism is extensible and can be backed by
PCI, a string of bytes, or something else.

        I've abstracted out the lguest ring buffer code into a common library.
The format has changed slightly (mainly because I had an epiphany about
inter-guest I/O).

        I also implemented a console (lguest needs one).

        Finally, there is a working lguest implementation.  Unfortunately,
lguest is being refactored for non-i386 ports, so the virtio patches sit
at the end of the (quite long) for-2.6.24 patchqueue.  Nonetheless, they
can be found at http://lguest.ozlabs.org/patches (click on bz2 to get
the series).

Cheers!
Rusty.

Superb job, it saved me the burden of try to merge the in-house virtio_backend.

I like the separation of the ring code, the improved descriptors and the notify too.
Regarding the pci config space, I rather see config_ops type of operations to let
the 390/xen/other implementations jump on our wagon.

Maybe change the offset/len type into a handle pointer and function pointers.
The best would be to let them comment on that. I glimpsed over xen netfront.c and I think that
the config space can be used without too many hassles
Dor.