Jelajahi Sumber

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>
Yinghai Lu 16 tahun lalu
induk
melakukan
88d0f550d7
3 mengubah file dengan 5 tambahan dan 10 penghapusan
  1. 4 4
      arch/x86/kernel/apic.c
  2. 0 4
      arch/x86/kernel/io_apic.c
  3. 1 2
      arch/x86/kernel/smpboot.c

+ 4 - 4
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

+ 0 - 4
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;
 

+ 1 - 2
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();