aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 14:25:52 -0300
committerIngo Molnar <mingo@elte.hu>2008-04-17 17:41:02 +0200
commit4370ee4d3b7772158174bf6f0bf08359c2ccf54b (patch)
treee49133eba16fa6ccd14c674c208db1bbfefe9336 /arch
parent6becedbb06072c5741d4057b9facecb4b3143711 (diff)
x86: call do_boot_cpu directly from native_cpu_up
We don't need __smp_prepare_cpu anymore. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/smpboot_32.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
index 5165b11d8aa..4ba5ab2d81f 100644
--- a/arch/x86/kernel/smpboot_32.c
+++ b/arch/x86/kernel/smpboot_32.c
@@ -702,20 +702,6 @@ void cpu_exit_clear(void)
}
#endif
-static void __cpuinit __smp_prepare_cpu(int cpu)
-{
- int apicid;
-
- apicid = per_cpu(x86_cpu_to_apicid, cpu);
-
- /* init low mem mapping */
- clone_pgd_range(swapper_pg_dir, swapper_pg_dir + USER_PGD_PTRS,
- min_t(unsigned long, KERNEL_PGD_PTRS, USER_PGD_PTRS));
- flush_tlb_all();
-
- do_boot_cpu(apicid, cpu);
-}
-
static int boot_cpu_logical_apicid;
/* Where the IO area was mapped on multiquad, always 0 otherwise */
void *xquad_portio;
@@ -872,7 +858,12 @@ int __cpuinit native_cpu_up(unsigned int cpu)
per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
- __smp_prepare_cpu(cpu);
+ /* init low mem mapping */
+ clone_pgd_range(swapper_pg_dir, swapper_pg_dir + USER_PGD_PTRS,
+ min_t(unsigned long, KERNEL_PGD_PTRS, USER_PGD_PTRS));
+ flush_tlb_all();
+
+ do_boot_cpu(apicid, cpu);
/* In case one didn't come up */
if (!cpu_isset(cpu, cpu_callin_map)) {