mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
b69bc39674
commit
88d0f550d7
|
@ -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
|
||||
|
|
|
@ -3057,13 +3057,9 @@ static inline void __init check_timer(void)
|
|||
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;
|
||||
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue