|
@@ -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...
|
|
|
*/
|