diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
commit | 03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch) | |
tree | 88db8dba75ae06ba3bad08e42c5e52efc162535c /arch/alpha/kernel/entry.S | |
parent | 257730f99381dd26e10b832fce4c94cae7ac1176 (diff) |
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'arch/alpha/kernel/entry.S')
-rw-r--r-- | arch/alpha/kernel/entry.S | 70 |
1 files changed, 7 insertions, 63 deletions
diff --git a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S index 79b0d818c..82e0c71b9 100644 --- a/arch/alpha/kernel/entry.S +++ b/arch/alpha/kernel/entry.S @@ -4,7 +4,6 @@ * kernel entry-points */ -#include <linux/config.h> #include <asm/system.h> #define halt .long PAL_halt @@ -51,56 +50,7 @@ * JRP - Save regs 16-18 in a special area of the stack, so that * the palcode-provided values are available to the signal handler. */ -#if defined(CONFIG_ALPHA_TSUNAMI) -/* TSUNAMI has no HAE register to save/restore */ -#define SAVE_ALL \ - subq $30,184,$30; \ - stq $0,0($30); \ - stq $1,8($30); \ - stq $2,16($30); \ - stq $3,24($30); \ - stq $4,32($30); \ - stq $5,40($30); \ - stq $6,48($30); \ - stq $7,56($30); \ - stq $8,64($30); \ - stq $19,72($30); \ - stq $20,80($30); \ - stq $21,88($30); \ - stq $22,96($30); \ - stq $23,104($30); \ - stq $24,112($30); \ - stq $25,120($30); \ - stq $26,128($30); \ - stq $27,136($30); \ - stq $28,144($30); \ - stq $16,160($30); \ - stq $17,168($30); \ - stq $18,176($30) -#define RESTORE_ALL \ - ldq $0,0($30); \ - ldq $1,8($30); \ - ldq $2,16($30); \ - ldq $3,24($30); \ - ldq $4,32($30); \ - ldq $5,40($30); \ - ldq $6,48($30); \ - ldq $7,56($30); \ - ldq $8,64($30); \ - ldq $19,72($30); \ - ldq $20,80($30); \ - ldq $21,88($30); \ - ldq $22,96($30); \ - ldq $23,104($30); \ - ldq $24,112($30); \ - ldq $25,120($30); \ - ldq $26,128($30); \ - ldq $27,136($30); \ - ldq $28,144($30); \ - addq $30,184,$30 - -#else /* TSUNAMI */ #define SAVE_ALL \ subq $30,184,$30; \ stq $0,0($30); \ @@ -166,8 +116,6 @@ ldq $28,144($30); \ addq $30,184,$30 -#endif /* TSUNAMI */ - .text .set noat #if defined(__linux__) && !defined(__ELF__) @@ -181,8 +129,8 @@ entInt: SAVE_ALL lda $8,0x3fff bic $30,$8,$8 - jsr $26,do_entInt - br $31,ret_from_sys_call + lda $26,ret_from_sys_call + jsr $31,do_entInt .end entInt .align 3 @@ -224,11 +172,8 @@ entArith: SAVE_ALL 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 lda $26,ret_from_sys_call - jsr $31,($27),do_entArith + jsr $31,do_entArith .end entArith .align 3 @@ -238,9 +183,8 @@ entIF: SAVE_ALL lda $8,0x3fff bic $30,$8,$8 - lda $27,do_entIF lda $26,ret_from_sys_call - jsr $31,($27),do_entIF + jsr $31,do_entIF .end entIF /* @@ -373,7 +317,7 @@ do_switch_stack: stt $f29,296($30) stt $f30,304($30) stt $f0,312($30) # save fpcr in slot of $f31 - ldt $f0,64($30) # don't let "do_switch_stack" change any fp state. + ldt $f0,64($30) # dont let "do_switch_stack" change fp state. ret $31,($1),1 .end do_switch_stack @@ -744,8 +688,8 @@ signal_return: .ent ret_from_smpfork ret_from_smpfork: .set at + mb /* Make the changed data visible before the freed lock. */ stq $31,scheduler_lock - mb /* ?????????????????? */ br ret_from_sys_call .set noat .end ret_from_smpfork @@ -834,7 +778,7 @@ sys_call_table: .quad sys_lseek .quad sys_getxpid /* 20 */ .quad osf_mount - .quad osf_umount + .quad sys_umount .quad sys_setuid .quad sys_getxuid .quad alpha_ni_syscall /* 25 */ |