patch-2.1.37 linux/arch/alpha/kernel/entry.S
Next file: linux/arch/alpha/kernel/head.S
Previous file: linux/arch/alpha/defconfig
Back to the patch index
Back to the overall index
- Lines: 107
- Date:
Mon May 12 10:35:37 1997
- Orig file:
v2.1.36/linux/arch/alpha/kernel/entry.S
- Orig date:
Wed Apr 23 19:01:14 1997
diff -u --recursive --new-file v2.1.36/linux/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S
@@ -126,7 +126,8 @@
.ent entInt
entInt:
SAVE_ALL
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
jsr $26,do_entInt
br $31,ret_from_sys_call
.end entInt
@@ -147,7 +148,8 @@
stq $15,48($30)
addq $30,56,$19
/* handle the fault */
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
jsr $26,do_page_fault
/* reload the registers after the exception code played. */
ldq $9,0($30)
@@ -167,7 +169,8 @@
.ent entArith
entArith:
SAVE_ALL
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
/* How much of a win is this clockwise? We are, after all, messing
up the call/return prefetch stack. -- rth */
lda $27,do_entArith
@@ -180,7 +183,8 @@
.ent entIF
entIF:
SAVE_ALL
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
lda $27,do_entIF
lda $26,ret_from_sys_call
jsr $31,($27),do_entIF
@@ -221,12 +225,13 @@
.globl __kernel_thread
.ent __kernel_thread
__kernel_thread:
+ ldgp $29,0($27) /* we can be called from a module */
.frame $30, 4*8, $26
subq $30,4*8,$30
stq $10,16($30)
stq $9,8($30)
stq $26,0($30)
- .prologue 0
+ .prologue 1
bis $17,$17,$9 /* save fn */
bis $18,$18,$10 /* save arg */
bsr $26,kernel_clone
@@ -238,10 +243,9 @@
ret $31,($26),1
/* this is in child: look out as we don't have any stack here.. */
1: bis $9,$9,$27 /* get fn */
- br $29,2f
-2: ldgp $29,0($29)
+ lda $8,0x3fff
bis $10,$10,$16 /* get arg */
- ldq $8,current_set
+ bic $30,$8,$8 /* get current */
jsr $26,($27)
bis $0,$0,$16
jsr $26,sys_exit
@@ -382,7 +386,8 @@
stq $29,232($30)
stq $30,240($30)
stq $31,248($30)
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
jsr $26,do_entUna
ldq $0,0($30)
ldq $1,8($30)
@@ -432,7 +437,8 @@
stq $14,40($30)
stq $15,48($30)
bis $31,$30,$19
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
jsr $26,do_entUnaUser
ldq $9,0($30)
ldq $10,8($30)
@@ -497,7 +503,8 @@
.ent entSys
entSys:
SAVE_ALL
- ldq $8,current_set
+ lda $8,0x3fff
+ bic $30,$8,$8
lda $4,NR_SYSCALLS($31)
stq $16,SP_OFF+24($30)
lda $5,sys_call_table
@@ -532,7 +539,7 @@
ret_from_reschedule:
lda $0,need_resched
ldl $2,0($0)
- lda $4,init_task
+ lda $4,init_task_union
bne $2,reschedule
xor $4,$8,$4
beq $4,restore_all
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov