summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYinghai Lu <yinghai@kernel.org>2009-02-14 23:57:28 -0800
committerIngo Molnar <mingo@elte.hu>2009-02-15 13:23:46 +0100
commit88d0f550d71493cd975a11a03c166211b2f3bd32 (patch)
tree2aadb97a1ac90358d9c38cd99611a3f32d4da3dd
parentb69bc3967445169ea4dc11171118b414eafab271 (diff)
x86: make 32bit to call enable_IO_APIC early like 64bit
Impact: cleanup So we remove some #ifdefs. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/apic.c8
-rw-r--r--arch/x86/kernel/io_apic.c4
-rw-r--r--arch/x86/kernel/smpboot.c3
3 files changed, 5 insertions, 10 deletions
diff --git a/arch/x86/kernel/apic.c b/arch/x86/kernel/apic.c
index 8bd801db24d9..b8616aaa168d 100644
--- a/arch/x86/kernel/apic.c
+++ b/arch/x86/kernel/apic.c
@@ -1646,19 +1646,19 @@ int __init APIC_init_uniprocessor(void)
physid_set_mask_of_physid(boot_cpu_physical_apicid, &phys_cpu_present_map);
setup_local_APIC();
-#ifdef CONFIG_X86_64
+#ifdef CONFIG_X86_IO_APIC
/*
* Now enable IO-APICs, actually call clear_IO_APIC
* We need clear_IO_APIC before enabling vector on BP
*/
if (!skip_ioapic_setup && nr_ioapics)
enable_IO_APIC();
-#endif
-#ifdef CONFIG_X86_IO_APIC
if (!smp_found_config || skip_ioapic_setup || !nr_ioapics)
-#endif
localise_nmi_watchdog();
+#else
+ localise_nmi_watchdog();
+#endif
end_local_APIC_setup();
#ifdef CONFIG_X86_IO_APIC
diff --git a/arch/x86/kernel/io_apic.c b/arch/x86/kernel/io_apic.c
index 7248ca11bdcd..0b7cde3da48b 100644
--- a/arch/x86/kernel/io_apic.c
+++ b/arch/x86/kernel/io_apic.c
@@ -3057,13 +3057,9 @@ out:
void __init setup_IO_APIC(void)
{
-#ifdef CONFIG_X86_32
- enable_IO_APIC();
-#else
/*
* calling enable_IO_APIC() is moved to setup_local_APIC for BP
*/
-#endif
io_apic_irqs = ~PIC_IRQS;
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index af57f88186e7..10834954e301 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1154,13 +1154,12 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
*/
setup_local_APIC();
-#ifdef CONFIG_X86_64
/*
* Enable IO APIC before setting up error vector
*/
if (!skip_ioapic_setup && nr_ioapics)
enable_IO_APIC();
-#endif
+
end_local_APIC_setup();
map_cpu_to_logical_apicid();