diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2006-02-16 14:13:51 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-02-20 12:03:36 +1100 |
commit | 8fca92705ef462f39e7db5a0f7100bcaae91bfd3 (patch) | |
tree | e9b4db50bb523b869616bcb5dcea763b34069f42 /arch/powerpc | |
parent | f018b36f3e1f21318066de8d01740d30e38b03d5 (diff) | |
download | blackbird-op-linux-8fca92705ef462f39e7db5a0f7100bcaae91bfd3.tar.gz blackbird-op-linux-8fca92705ef462f39e7db5a0f7100bcaae91bfd3.zip |
[PATCH] powerpc: Make UP -> SMP kexec work again
For UP to SMP kexec to work we need to jump into pSeries_secondary_smp_init
event on a UP + KEXEC kernel. The secondary cpus will not find their hw_cpu_id
in the paca and so they'll jump into kexec_wait, ready for a kexec.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/head_64.S | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S index 415659629394..2b03a09fe5e9 100644 --- a/arch/powerpc/kernel/head_64.S +++ b/arch/powerpc/kernel/head_64.S @@ -157,8 +157,7 @@ _GLOBAL(__secondary_hold) SET_REG_IMMEDIATE(r4, .hmt_init) mtctr r4 bctr -#else -#ifdef CONFIG_SMP +#elif defined(CONFIG_SMP) || defined(CONFIG_KEXEC) LOAD_REG_IMMEDIATE(r4, .pSeries_secondary_smp_init) mtctr r4 mr r3,r24 @@ -166,7 +165,6 @@ _GLOBAL(__secondary_hold) #else BUG_OPCODE #endif -#endif /* This value is used to mark exception frames on the stack. */ .section ".toc","aw" |