__vmxon() is called twice for the boot cpu, because identify_cpu() is called twice. This patch ensures that identify_cpu() and hence __vmxon() is called exactly once for the boot CPU. Signed-off-by: Anil S Keshavamurthy --- a/xen/arch/x86/smpboot.c~fix-multiple-vmxon 2005-04-11 08:52:26.293486000 -0700 +++ b/xen/arch/x86/smpboot.c 2005-04-11 08:58:58.513486000 -0700 @@ -114,7 +114,8 @@ void __init smp_alloc_memory(void) void __init smp_store_cpu_info(int id) { cpu_data[id] = boot_cpu_data; - identify_cpu(&cpu_data[id]); + if (id != 0) + identify_cpu(&cpu_data[id]); } /* _