提交 83f7eb9c 编写于 作者: G Glauber de Oliveira Costa 提交者: Ingo Molnar

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: NGlauber Costa <gcosta@redhat.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 a8db8453
...@@ -880,7 +880,6 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu) ...@@ -880,7 +880,6 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
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) ...@@ -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)
{ {
......
...@@ -215,24 +215,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) ...@@ -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();
}
...@@ -212,21 +212,3 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) ...@@ -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();
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册