patch-2.1.126 linux/arch/alpha/boot/head.S

Next file: linux/arch/alpha/config.in
Previous file: linux/arch/alpha/boot/bootp.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.125/linux/arch/alpha/boot/head.S linux/arch/alpha/boot/head.S
@@ -6,28 +6,22 @@
 
 #include <asm/system.h>
 
-#define halt .long PAL_halt
-
 	.set noreorder
 	.globl	__start
 	.ent	__start
 __start:
-	bis	$31,$31,$31
-	br	1f
-	/* room for the initial PCB, which comes here */
-	.quad	0,0,0,0,0,0,0,0
-1:	br	$27,2f
-2:	ldgp	$29,0($27)
-	lda	$27,start_kernel
-	jsr	$26,($27),start_kernel
-	halt
+	br	$29,2f
+2:	ldgp	$29,0($29)
+	jsr	$26,start_kernel
+	call_pal PAL_halt
 	.end __start
 
 	.align 5
 	.globl	wrent
 	.ent	wrent
 wrent:
-	.long PAL_wrent
+	.prologue 0
+	call_pal PAL_wrent
 	ret ($26)
 	.end wrent
 
@@ -35,7 +29,8 @@
 	.globl	wrkgp
 	.ent	wrkgp
 wrkgp:
-	.long PAL_wrkgp
+	.prologue 0
+	call_pal PAL_wrkgp
 	ret ($26)
 	.end wrkgp
 
@@ -44,6 +39,7 @@
 	.ent	switch_to_osf_pal
 switch_to_osf_pal:
 	subq	$30,128,$30
+	.frame	$30,128,$26
 	stq	$26,0($30)
 	stq	$1,8($30)
 	stq	$2,16($30)
@@ -60,11 +56,12 @@
 	stq	$13,104($30)
 	stq	$14,112($30)
 	stq	$15,120($30)
+	.prologue 0
 
 	stq	$30,0($17)	/* save KSP in PCB */
 
 	bis	$30,$30,$20	/* a4 = KSP */
-	br	$17,__do_swppal
+	br	$17,1f
 
 	ldq	$26,0($30)
 	ldq	$1,8($30)
@@ -84,56 +81,22 @@
 	ldq	$15,120($30)
 	addq	$30,128,$30
 	ret ($26)
-
-__do_swppal:
-	.long	PAL_swppal
+1:	call_pal PAL_swppal
 	.end	switch_to_osf_pal
 
-.globl	dispatch
-.ent	dispatch
-dispatch:
-	subq	$30,80,$30
-	stq	$26,0($30)
-	stq	$29,8($30)
-
-	stq	$8,16($30)
-	stq	$9,24($30)
-	stq	$10,32($30)
-	stq	$11,40($30)
-	stq	$12,48($30)
-	stq	$13,56($30)
-	stq	$14,64($30)
-	stq	$15,72($30)
-
-	lda	$1,0x10000000		/* hwrpb */
-	ldq	$2,0xc0($1)		/* crb offset */
-	addq	$2,$1,$2		/* crb */
-	ldq	$27,0($2)		/* dispatch procedure value */
-
-	ldq	$2,8($27)		/* dispatch call address */
-	jsr	$26,($2)		/* call it (weird VMS call seq) */
-
-	ldq	$26,0($30)
-	ldq	$29,8($30)
-
-	ldq	$8,16($30)
-	ldq	$9,24($30)
-	ldq	$10,32($30)
-	ldq	$11,40($30)
-	ldq	$12,48($30)
-	ldq	$13,56($30)
-	ldq	$14,64($30)
-	ldq	$15,72($30)
-
-	addq	$30,80,$30
-	ret	$31,($26)
-.end    dispatch
-
 	.align 3
 	.globl	tbi
 	.ent	tbi
 tbi:
-	.long PAL_tbi
+	.prologue 0
+	call_pal PAL_tbi
 	ret	($26)
 	.end tbi
 
+	.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