[PATCH 0/5] KVM paravirt_ops implementation

Anthony Liguori
2007-06-18T02:56:34Z

Hi,

This patch series is an update of my previous paravirt_ops patches.
They are loosely based on Ingo's original paravirt_ops implementation
for KVM. Some of the changes since the last series include:

1) Switch to using CPUID 0x40000000 instead of using MSR writes to
discover shared memory area
2) Attempt to deal with SMP guests
3) Support for generic CR read caching
4) Support for batching of MMU operations

Some known issues:

1) Not really sure what is needed for CONFIG_PREEMPT support. I'm not
sure which paravirt_ops calls are actually re-entrant.
2) The paravirt_ops implementation is registered with core_initcall().
However, the paravirt_ops banner is also printed with core_initcall() so
that fact that this works now is just the luck of build order. Need a
better way to initialize the KVM paravirt_ops backend.
3) These patches probably break guest save/restore. Need a generic way
to get additional save/restore callbacks in the kernel (perhaps the
in-kernel APIC series addresses this already?).

The latest versions of these patches are available at:

http://hg.codemonkey.ws/kvm-paravirt

Regards,

Anthony Liguori