patch-2.1.92 linux/arch/alpha/kernel/head.S
Next file: linux/arch/alpha/kernel/irq.c
Previous file: linux/arch/alpha/kernel/entry.S
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
Mon Mar 30 00:21:39 1998
- Orig file:
v2.1.91/linux/arch/alpha/kernel/head.S
- Orig date:
Tue Feb 17 13:12:44 1998
diff -u --recursive --new-file v2.1.91/linux/arch/alpha/kernel/head.S linux/arch/alpha/kernel/head.S
@@ -8,6 +8,7 @@
*/
#define __ASSEMBLY__
+#include <linux/config.h>
#include <asm/system.h>
#define halt call_pal PAL_halt
@@ -31,6 +32,27 @@
jsr $26,start_kernel
halt
.end __start
+
+#ifdef __SMP__
+ .align 3
+ .globl __start_cpu
+ .ent __start_cpu
+ /* on entry here from SRM console, the HWPCB of this processor */
+ /* has been loaded, and $27 contains the task pointer */
+__start_cpu:
+ /* first order of business, load the GP */
+ br $26,1f
+1: ldgp $29,0($26)
+ /* We need to get current loaded up with our first task... */
+ lda $8,0($27)
+ /* set FEN */
+ lda $16,1($31)
+ call_pal PAL_wrfen
+ /* ... and then we can start the processor. */
+ jsr $26,start_secondary
+ halt
+ .end __start_cpu
+#endif /* __SMP__ */
.align 3
.globl wrent
FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected]