]> rtime.felk.cvut.cz Git - can-eth-gw-linux.git/blobdiff - arch/x86/kernel/head_32.S
Merge branch 'x86-bsp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[can-eth-gw-linux.git] / arch / x86 / kernel / head_32.S
index 4dac2f68ed4aaf2bf35e10687dbdf44234829347..8e7f6556028f7ff50d90c73eac405d3cdcb7b881 100644 (file)
@@ -266,6 +266,19 @@ num_subarch_entries = (. - subarch_entries) / 4
        jmp default_entry
 #endif /* CONFIG_PARAVIRT */
 
+#ifdef CONFIG_HOTPLUG_CPU
+/*
+ * Boot CPU0 entry point. It's called from play_dead(). Everything has been set
+ * up already except stack. We just set up stack here. Then call
+ * start_secondary().
+ */
+ENTRY(start_cpu0)
+       movl stack_start, %ecx
+       movl %ecx, %esp
+       jmp  *(initial_code)
+ENDPROC(start_cpu0)
+#endif
+
 /*
  * Non-boot CPU entry point; entered from trampoline.S
  * We can't lgdt here, because lgdt itself uses a data segment, but