x86: provide connect_bsp_APIC for x86_64
authorGlauber Costa <gcosta@redhat.com>
Wed, 28 May 2008 16:38:28 +0000 (13:38 -0300)
committerIngo Molnar <mingo@elte.hu>
Tue, 8 Jul 2008 10:48:22 +0000 (12:48 +0200)
Although it is not really needed, we provide it to get
closer to i386. ifdefs around it are removed in smpboot.c

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

index d9d663ffa641c40fb45872ae59d0650e1e22cf89..5279dc92438176744a270eba3a99a43b76a39d51 100644 (file)
@@ -918,6 +918,8 @@ int __init APIC_init_uniprocessor(void)
 
        verify_local_APIC();
 
+       connect_bsp_APIC();
+
        physid_set_mask_of_physid(boot_cpu_physical_apicid, &phys_cpu_present_map);
        apic_write(APIC_ID, SET_APIC_ID(boot_cpu_physical_apicid));
 
@@ -999,6 +1001,14 @@ asmlinkage void smp_error_interrupt(void)
        irq_exit();
 }
 
+/**
+ *  * connect_bsp_APIC - attach the APIC to the interrupt system
+ *   */
+void __init connect_bsp_APIC(void)
+{
+       enable_apic_mode();
+}
+
 void disconnect_bsp_APIC(int virt_wire_setup)
 {
        /* Go back to Virtual Wire compatibility mode */
index e09f3124738ad6b240e3d30a88eb427ded7d5f0b..a569f06d789e3540e4875ef9b1a06b2f74ffa7a5 100644 (file)
@@ -1116,9 +1116,7 @@ static int __init smp_sanity_check(unsigned max_cpus)
 
                localise_nmi_watchdog();
 
-#ifdef CONFIG_X86_32
                connect_bsp_APIC();
-#endif
                setup_local_APIC();
                end_local_APIC_setup();
                return -1;
@@ -1173,9 +1171,8 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
        }
        preempt_enable();
 
-#ifdef CONFIG_X86_32
        connect_bsp_APIC();
-#endif
+
        /*
         * Switch from PIC to APIC mode.
         */