aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/xen/smp.c')
-rw-r--r--arch/x86/xen/smp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index 368c290929fe..9235842cd76a 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -700,8 +700,15 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus)
700static int xen_hvm_cpu_up(unsigned int cpu, struct task_struct *tidle) 700static int xen_hvm_cpu_up(unsigned int cpu, struct task_struct *tidle)
701{ 701{
702 int rc; 702 int rc;
703 rc = native_cpu_up(cpu, tidle); 703 /*
704 WARN_ON (xen_smp_intr_init(cpu)); 704 * xen_smp_intr_init() needs to run before native_cpu_up()
705 * so that IPI vectors are set up on the booting CPU before
706 * it is marked online in native_cpu_up().
707 */
708 rc = xen_smp_intr_init(cpu);
709 WARN_ON(rc);
710 if (!rc)
711 rc = native_cpu_up(cpu, tidle);
705 return rc; 712 return rc;
706} 713}
707 714