Fri, 31 Aug 2007

So, What is KVM-lite?

Someone sent me a very polite mail asking what KVM-lite is. My bad.

KVM currently requires either AMD-V (SVM) or Intel's VT (VMX) extensions on the chip: these are implemented in separate modules. So it should be possible to implement a "lite" backend which uses lguest-like techniques to boot a (paravirtualized) guest.

Why? To increase the coverage and reach of KVM: many low-end machines are still shipping without sufficient hardware support. Having a single "kvm" which can run across everything (at least, for Linux) makes a great deal of sense.

Critically, it's not that hard. KVM already has emulation for all the parts of the PC we want. Paravirtual drivers are coming, as is a hypercall interface. KVM lite only has 6 hypercalls, and three of those can probably be replaced by emulation. More hypercalls will come (page table updates and batching), but normal KVM will want those too.

[/tech] permanent link