patch-2.1.126 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

diff -u --recursive --new-file v2.1.125/linux/arch/alpha/kernel/head.S linux/arch/alpha/kernel/head.S
@@ -9,8 +9,6 @@
 
 #include <asm/system.h>
 
-#define halt call_pal PAL_halt
-
 .globl swapper_pg_dir
 .globl _stext
 swapper_pg_dir=SWAPPER_PGD
@@ -29,28 +27,28 @@
 	lda	$30,0x4000($8)
 	/* ... and then we can start the kernel.  */
 	jsr	$26,start_kernel
-	halt
+	call_pal PAL_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 */
+	/* On entry here from SRM console, the HWPCB of this processor
+	   has been loaded, and $27 contains the task pointer */
 __start_cpu:
 	.prologue 0
-	/* first order of business, load the GP */
+	/* 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 */
+	mov	$27,$8
+	/* Set FEN */
 	lda	$16,1($31)
 	call_pal PAL_wrfen
 	/* ... and then we can start the processor.  */
 	jsr	$26,start_secondary
-	halt
+	call_pal PAL_halt
 	.end __start_cpu
 #endif /* __SMP__ */
 
@@ -121,10 +119,20 @@
 	.globl  wripir
 	.ent    wripir
 wripir:
+	.prologue 0
 	call_pal PAL_wripir
 	ret     ($26)
 	.end wripir
 
+	.align 3
+	.globl wrvptptr
+	.ent wrvptptr
+wrvptptr:
+	.prologue 0
+	call_pal PAL_wrvptptr
+	ret	($26)
+	.end wrvptptr
+
 	#
 	# The following two functions are needed for supporting SRM PALcode
 	# on the PC164 (at least), since that PALcode manages the interrupt
@@ -152,3 +160,17 @@
 	call_pal PAL_cserve
 	ret	($26)
 	.end	cserve_dis
+
+	#
+	# It is handy, on occasion, to make halt actually just loop. 
+	# Putting it here means we dont have to recompile the whole
+	# kernel.
+	#
+
+	.align 3
+	.globl	halt
+	.ent	halt
+halt:
+	.prologue 0
+	call_pal PAL_halt
+	.end	halt

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov