diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-02-10 18:45:24 +1100 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-04-01 15:37:09 +1100 |
commit | fa3f82c8bb7acbe049ea71f258b3ae0a33d9d40b (patch) | |
tree | 9c5e71195c7948c139ea37d8d0e0287f062910f9 /arch/powerpc/platforms/pseries | |
parent | 963e5d3b76d657f1ebcf3561446d2ba1872bbfa2 (diff) | |
download | blackbird-op-linux-fa3f82c8bb7acbe049ea71f258b3ae0a33d9d40b.tar.gz blackbird-op-linux-fa3f82c8bb7acbe049ea71f258b3ae0a33d9d40b.zip |
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/platforms/pseries')
-rw-r--r-- | arch/powerpc/platforms/pseries/offline_states.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/offline_states.h b/arch/powerpc/platforms/pseries/offline_states.h index 75a6f480d931..08672d9136ab 100644 --- a/arch/powerpc/platforms/pseries/offline_states.h +++ b/arch/powerpc/platforms/pseries/offline_states.h @@ -34,6 +34,4 @@ static inline void set_default_offline_state(int cpu) #endif extern enum cpu_state_vals get_preferred_offline_state(int cpu); -extern int start_secondary(void); -extern void start_secondary_resume(void); #endif |