Lguest support for Virtio
authorRusty Russell <rusty@rustcorp.com.au>
Mon, 22 Oct 2007 01:24:21 +0000 (11:24 +1000)
committerRusty Russell <rusty@rustcorp.com.au>
Tue, 23 Oct 2007 05:49:56 +0000 (15:49 +1000)
commit19f1537b7b8a9a82665db3ad8210a9d954d13acd
tree793c1f8763350012caa521a55c5778b1c633b7e5
parent15045275c32bf6d15d32c2eca8157be9c0ba6e45
Lguest support for Virtio

This makes lguest able to use the virtio devices.

We change the device descriptor page from a simple array to a variable
length "type, config_len, status, config data..." format, and
implement virtio_config_ops to read from that config data.

We use the virtio ring implementation for an efficient Guest <-> Host
virtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the
host when it changes.

We also use LHCALL_NOTIFY on kernel addresses for very very early
console output.  We could have another hypercall, but this hack works
quite well.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
arch/x86/lguest/Kconfig
arch/x86/lguest/boot.c
drivers/lguest/Makefile
drivers/lguest/lguest_device.c [new file with mode: 0644]
include/linux/lguest_launcher.h