aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/misc_32.S
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-05-19 13:07:12 +1000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-05-19 13:07:12 +1000
commit69e3cea8d5fd52677f2b6219542d0f8b53fe4c80 (patch)
tree307ab1bb6a276e36dc9f496dab98ec6e06ce42d4 /arch/powerpc/kernel/misc_32.S
parentMerge branch 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6 (diff)
downloadlinux-dev-69e3cea8d5fd52677f2b6219542d0f8b53fe4c80.tar.xz
linux-dev-69e3cea8d5fd52677f2b6219542d0f8b53fe4c80.zip
powerpc/smp: Make start_secondary_resume available to all CPU variants
This should fix SMP & Hotplug builds on FSL BookE and 476 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/misc_32.S')
-rw-r--r--arch/powerpc/kernel/misc_32.S11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 094bd9821ad4..402560e957bd 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -694,6 +694,17 @@ _GLOBAL(kernel_thread)
addi r1,r1,16
blr
+#ifdef CONFIG_SMP
+_GLOBAL(start_secondary_resume)
+ /* Reset stack */
+ rlwinm r1,r1,0,0,(31-THREAD_SHIFT) /* current_thread_info() */
+ addi r1,r1,THREAD_SIZE-STACK_FRAME_OVERHEAD
+ li r3,0
+ std r3,0(r1) /* Zero the stack frame pointer */
+ bl start_secondary
+ b .
+#endif /* CONFIG_SMP */
+
/*
* This routine is just here to keep GCC happy - sigh...
*/