]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
x86: get rid of smp_boot_cpus
authorGlauber de Oliveira Costa <gcosta@redhat.com>
Wed, 19 Mar 2008 17:26:04 +0000 (14:26 -0300)
committerIngo Molnar <mingo@elte.hu>
Thu, 17 Apr 2008 15:41:04 +0000 (17:41 +0200)
This patch get rid of smp_boot_cpus(), since it does not
boot any cpu anymore. Its code is split in a way to make
it closer to x86_64

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/smpboot_32.c

index 14db038b6b48bced259294d9fe198637721865ba..d153d8423740a6759f75b91ebad1b880bfd40523 100644 (file)
@@ -172,21 +172,19 @@ static int __init smp_sanity_check(unsigned max_cpus)
        return 0;
 }
 
-/*
- * Cycle through the processors sending APIC IPIs to boot each.
- */
-static void __init smp_boot_cpus(unsigned int max_cpus)
+/* These are wrappers to interface to the new boot process.  Someone
+   who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */
+void __init native_smp_prepare_cpus(unsigned int max_cpus)
 {
+       nmi_watchdog_default();
+       cpu_callin_map = cpumask_of_cpu(0);
+       mb();
+
        /*
         * Setup boot CPU information
         */
        smp_store_cpu_info(0); /* Final full version of the data */
-       printk(KERN_INFO "CPU%d: ", 0);
-       print_cpu_info(&cpu_data(0));
-
-       boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID));
        boot_cpu_logical_apicid = logical_smp_processor_id();
-
        current_thread_info()->cpu = 0;
 
        set_cpu_sibling_map(0);
@@ -197,25 +195,19 @@ static void __init smp_boot_cpus(unsigned int max_cpus)
                return;
        }
 
+       boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID));
+
        connect_bsp_APIC();
        setup_local_APIC();
        end_local_APIC_setup();
        map_cpu_to_logical_apicid();
 
-
        setup_portio_remap();
 
        smpboot_setup_io_apic();
 
+       printk(KERN_INFO "CPU%d: ", 0);
+       print_cpu_info(&cpu_data(0));
        setup_boot_clock();
 }
 
-/* These are wrappers to interface to the new boot process.  Someone
-   who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */
-void __init native_smp_prepare_cpus(unsigned int max_cpus)
-{
-       nmi_watchdog_default();
-       cpu_callin_map = cpumask_of_cpu(0);
-       mb();
-       smp_boot_cpus(max_cpus);
-}