x86: merge native_smp_cpus_done

They look similar enough, and are merged. Only difference
(zap_low_mapping for i386) is inside ifdef

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Glauber de Oliveira Costa 2008-03-19 14:26:02 -03:00 committed by Ingo Molnar
parent a8db8453ff
commit 83f7eb9c67
3 changed files with 20 additions and 40 deletions

View File

@ -880,7 +880,6 @@ do_rest:
apic_write(APIC_ESR, 0); apic_write(APIC_ESR, 0);
apic_read(APIC_ESR); apic_read(APIC_ESR);
/* /*
* Starting actual IPI sequence... * Starting actual IPI sequence...
*/ */
@ -1017,6 +1016,26 @@ void __init native_smp_prepare_boot_cpu(void)
per_cpu(cpu_state, me) = CPU_ONLINE; per_cpu(cpu_state, me) = CPU_ONLINE;
} }
void __init native_smp_cpus_done(unsigned int max_cpus)
{
/*
* Cleanup possible dangling ends...
*/
smpboot_restore_warm_reset_vector();
Dprintk("Boot done.\n");
impress_friends();
smp_checks();
#ifdef CONFIG_X86_IO_APIC
setup_ioapic_dest();
#endif
check_nmi_watchdog();
#ifdef CONFIG_X86_32
zap_low_mappings();
#endif
}
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
void remove_siblinginfo(int cpu) void remove_siblinginfo(int cpu)
{ {

View File

@ -215,24 +215,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
mb(); mb();
smp_boot_cpus(max_cpus); smp_boot_cpus(max_cpus);
} }
extern void impress_friends(void);
extern void smp_checks(void);
void __init native_smp_cpus_done(unsigned int max_cpus)
{
/*
* Cleanup possible dangling ends...
*/
smpboot_restore_warm_reset_vector();
Dprintk("Boot done.\n");
impress_friends();
smp_checks();
#ifdef CONFIG_X86_IO_APIC
setup_ioapic_dest();
#endif
check_nmi_watchdog();
zap_low_mappings();
}

View File

@ -212,21 +212,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
printk(KERN_INFO "CPU%d: ", 0); printk(KERN_INFO "CPU%d: ", 0);
print_cpu_info(&cpu_data(0)); print_cpu_info(&cpu_data(0));
} }
extern void impress_friends(void);
extern void smp_checks(void);
/*
* Finish the SMP boot.
*/
void __init native_smp_cpus_done(unsigned int max_cpus)
{
smpboot_restore_warm_reset_vector();
Dprintk("Boot done.\n");
impress_friends();
smp_checks();
setup_ioapic_dest();
check_nmi_watchdog();
}