path: root/arch/powerpc/include
diff options
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-02-10 18:45:24 +1100
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-04-01 15:37:09 +1100
commitfa3f82c8bb7acbe049ea71f258b3ae0a33d9d40b (patch)
tree9c5e71195c7948c139ea37d8d0e0287f062910f9 /arch/powerpc/include
parent963e5d3b76d657f1ebcf3561446d2ba1872bbfa2 (diff)
powerpc/smp: soft-replugged CPUs must go back to start_secondary
Various thing are torn down when a CPU is hot-unplugged. That CPU is expected to go back to start_secondary when re-plugged to re initialize everything, such as clock sources, maps, ... Some implementations just return from cpu_die() callback in the idle loop when the CPU is "re-plugged". This is not enough. We fix it using a little asm trampoline which resets the stack and calls back into start_secondary as if we were all fresh from boot. The trampoline already existed on ppc64, but we add it for ppc32 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include')
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index 66e237bbe15..1de0e97a394 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -36,6 +36,7 @@ extern void cpu_die(void);
extern void smp_send_debugger_break(int cpu);
extern void smp_message_recv(int);
+extern void start_secondary_resume(void);
DECLARE_PER_CPU(unsigned int, cpu_pvr);