Linux kernel version 2.6.23 Released 9 October 2007. KernelNewbies.com reports the following information:
2.4. Virtualization: lguest and Xen
Linux has good virtualization support thanks to the paravirtualization and KVM support. 2.6.23 is improving the support of the trend-of-the-decade by adding lguest and Xen support - both of them based in the paravirt_ops infrastructure.
2.4.1. lguest
Click to read a recommended article about lguest
lguest is a simple hypervisor for Linux on Linux (in other words, it allows to run linux -only linux- guests) based in the paravirt_ops infrastructure. Unlike kvm it doesn't need VT/SVM hardware. Unlike Xen it's simply "modprobe and go". Unlike both, it's 5000 lines and self-contained.
The goal of his author, Rusty Russell, was not to create the simplest and greatest hypervisor ever, but rather create a simple, small (5000 lines of code) hypervisor example to show the world how powerful the paravirt_ops infrastructure is. Performance is ok, but not great (-30% on kernel compile), precisely because it was written to be simple. But given its hackability, it may improve soon. The author encourages people to fork it and try to create a much better hypervisor: Too much of the kernel is a big ball of hair. lguest is simple enough to dive into and hack, plus has some warts which scream "fork me!". A 64-bit version is also being worked on.
Lguest host support (CONFIG_LGUEST) can be compiled as a module (lg.ko). This is the host support - once you load it, your kernel will be able to run virtualized lguest guests. But kernel guests need to compile lguest guest support in order to be able to run under the lguest host. The configuration variable that enables the guest support is CONFIG_LGUEST_GUEST - but that option will be enabled automatically once you set CONFIG_LGUEST to 'y' or 'm'. This means that a kernel compiled with lguest host support does also get lguest guest support. In other words, you can use the same kernel you use to be a host as guest kernel. In order to load and run new guests, you need a loader userspace program. The instructions and the program can be found at Documentation/lguest/lguest.txt
Code: drivers/lguest, Documentation/lguest
2.4.2. Xen
Part of Xen has been merged. The support included in 2.6.23 will allow the kernel to boot in a paravirtualized environment under the Xen hypervisor. But support for the hypervisor is not included - this is only guest support, no dom0, no suspend/resume, no ballooning. It's based in the paravirt_ops infrastructure.
Code: (part 1, drivers/xen, part 2, arch/i386/xen)
3.5. KVM
-
Enable guest smp (commit)
-
Implement rdmsr and wrmsr. This allows smp Windows to boot (commit)
-
i386: Allow KVM on i386 nonpae (commit)
You can read more from KernelNewbies, here.