diff options
Diffstat (limited to 'arch/x86/xen/smp.c')
-rw-r--r-- | arch/x86/xen/smp.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index 0503c0c493a9..3700945ed0d5 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c | |||
@@ -265,18 +265,8 @@ static void __init xen_smp_prepare_cpus(unsigned int max_cpus) | |||
265 | set_cpu_possible(cpu, false); | 265 | set_cpu_possible(cpu, false); |
266 | } | 266 | } |
267 | 267 | ||
268 | for_each_possible_cpu (cpu) { | 268 | for_each_possible_cpu(cpu) |
269 | struct task_struct *idle; | ||
270 | |||
271 | if (cpu == 0) | ||
272 | continue; | ||
273 | |||
274 | idle = fork_idle(cpu); | ||
275 | if (IS_ERR(idle)) | ||
276 | panic("failed fork for CPU %d", cpu); | ||
277 | |||
278 | set_cpu_present(cpu, true); | 269 | set_cpu_present(cpu, true); |
279 | } | ||
280 | } | 270 | } |
281 | 271 | ||
282 | static int __cpuinit | 272 | static int __cpuinit |
@@ -346,9 +336,8 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle) | |||
346 | return 0; | 336 | return 0; |
347 | } | 337 | } |
348 | 338 | ||
349 | static int __cpuinit xen_cpu_up(unsigned int cpu) | 339 | static int __cpuinit xen_cpu_up(unsigned int cpu, struct task_struct *idle) |
350 | { | 340 | { |
351 | struct task_struct *idle = idle_task(cpu); | ||
352 | int rc; | 341 | int rc; |
353 | 342 | ||
354 | per_cpu(current_task, cpu) = idle; | 343 | per_cpu(current_task, cpu) = idle; |
@@ -562,10 +551,10 @@ static void __init xen_hvm_smp_prepare_cpus(unsigned int max_cpus) | |||
562 | xen_init_lock_cpu(0); | 551 | xen_init_lock_cpu(0); |
563 | } | 552 | } |
564 | 553 | ||
565 | static int __cpuinit xen_hvm_cpu_up(unsigned int cpu) | 554 | static int __cpuinit xen_hvm_cpu_up(unsigned int cpu, struct task_struct *tidle) |
566 | { | 555 | { |
567 | int rc; | 556 | int rc; |
568 | rc = native_cpu_up(cpu); | 557 | rc = native_cpu_up(cpu, tidle); |
569 | WARN_ON (xen_smp_intr_init(cpu)); | 558 | WARN_ON (xen_smp_intr_init(cpu)); |
570 | return rc; | 559 | return rc; |
571 | } | 560 | } |