Yesterday I needed to virtualise another one of our test servers to try out our proposed migration plan for virtualising some older production servers. I usually use Gentoo for the DOM0 domain with XEN because of the flexibility provided by building from source.
I had not yet tried XEN with the stable 2.6.20 Kernel. Kernel 2.6.20 introduced KVM (Kernel Based Virtual Machine) technology and some other virtualisation options such as "Processor Types and Features=>Paravirtualisation Support (Experimental)". I thought this might have something to do with XEN and so enabled the option.
When I tried to compile I got this error:
CC arch/i386/kernel/time-xen.o
arch/i386/kernel/time-xen.c:971: error: redefinition of 'raw_safe_halt'
include/asm/paravirt.h:208: error: previous definition of 'raw_safe_halt' was here
arch/i386/kernel/time-xen.c:980: error: redefinition of 'halt'
include/asm/paravirt.h:213: error: previous definition of 'halt' was here
make[1]: *** [arch/i386/kernel/time-xen.o] Error 1
make: *** [arch/i386/kernel] Error 2
Removing the paravirtualisation support option from the .config file fixed this and the kernel then compiled successfully. Virtualisation is moving so fast it hard to keep up some times, especially with all the new options for virtualisation that are now available.