aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/kernel/smpboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r--arch/x86/kernel/smpboot.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index b214d8dcc07..26118b4a1c3 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -880,7 +880,6 @@ do_rest:
apic_write(APIC_ESR, 0);
apic_read(APIC_ESR);
-
/*
* Starting actual IPI sequence...
*/
@@ -1017,6 +1016,26 @@ void __init native_smp_prepare_boot_cpu(void)
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
void remove_siblinginfo(int cpu)
{