diff -r bea505a69722 xen/arch/x86/hvm/vmx/vmx.c --- a/xen/arch/x86/hvm/vmx/vmx.c Tue Jan 23 15:58:05 2007 +0000 +++ b/xen/arch/x86/hvm/vmx/vmx.c Wed Jan 24 17:37:51 2007 +0800 @@ -659,6 +659,12 @@ int vmx_load_vmcs_ctxt(hvm_domain_contex printk("vmx_vmcs restore failed!\n"); domain_crash(v->domain); return -EINVAL; + } + + /* wake up this vcpu for smp support */ + if ( is_hvm_vcpu(v) && + test_and_clear_bit(_VCPUF_down, &v->vcpu_flags) ) { + vcpu_wake(v); } return 0;