diff -r 45ca3f3c3f98 xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Tue Jun 16 11:53:47 2009 +0100 +++ b/xen/arch/x86/hvm/svm/svm.c Wed Jun 17 16:15:44 2009 +0200 @@ -850,6 +850,9 @@ int start_svm(struct cpuinfo_x86 *c) ecx = cpuid_ecx(0x80000001); boot_cpu_data.x86_capability[5] = ecx; + /* Now enable interrupts so it's safe to take locks. */ + local_irq_enable(); + if ( !(test_bit(X86_FEATURE_SVME, &boot_cpu_data.x86_capability)) ) return 0;