diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2008-07-15 13:44:30 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2008-07-15 13:44:30 -0400 |
commit | 2957c9e61ee9c37e7ebf2c8acab03e073fe942fd (patch) | |
tree | 50b4baea3b130ed3e1ef95a9c0f2d2761dd88693 /arch/mips/kernel/scall32-o32.S | |
parent | 997288517ec839b7639fcba77111256b13a66000 (diff) |
[MIPS] IRIX: Goodbye and thanks for all the fish
Never terribly functional or popular, plagued by hard to fix bugs the time
to say goodbye has more than arrived.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/scall32-o32.S')
-rw-r--r-- | arch/mips/kernel/scall32-o32.S | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S index 08a9c5070ea8..c058c0b61a2a 100644 --- a/arch/mips/kernel/scall32-o32.S +++ b/arch/mips/kernel/scall32-o32.S | |||
@@ -34,12 +34,8 @@ NESTED(handle_sys, PT_SIZE, sp) | |||
34 | 34 | ||
35 | lw t1, PT_EPC(sp) # skip syscall on return | 35 | lw t1, PT_EPC(sp) # skip syscall on return |
36 | 36 | ||
37 | #if defined(CONFIG_BINFMT_IRIX) | ||
38 | sltiu t0, v0, MAX_SYSCALL_NO + 1 # check syscall number | ||
39 | #else | ||
40 | subu v0, v0, __NR_O32_Linux # check syscall number | 37 | subu v0, v0, __NR_O32_Linux # check syscall number |
41 | sltiu t0, v0, __NR_O32_Linux_syscalls + 1 | 38 | sltiu t0, v0, __NR_O32_Linux_syscalls + 1 |
42 | #endif | ||
43 | addiu t1, 4 # skip to next instruction | 39 | addiu t1, 4 # skip to next instruction |
44 | sw t1, PT_EPC(sp) | 40 | sw t1, PT_EPC(sp) |
45 | beqz t0, illegal_syscall | 41 | beqz t0, illegal_syscall |
@@ -264,22 +260,14 @@ bad_alignment: | |||
264 | END(sys_sysmips) | 260 | END(sys_sysmips) |
265 | 261 | ||
266 | LEAF(sys_syscall) | 262 | LEAF(sys_syscall) |
267 | #if defined(CONFIG_BINFMT_IRIX) | ||
268 | sltiu v0, a0, MAX_SYSCALL_NO + 1 # check syscall number | ||
269 | #else | ||
270 | subu t0, a0, __NR_O32_Linux # check syscall number | 263 | subu t0, a0, __NR_O32_Linux # check syscall number |
271 | sltiu v0, t0, __NR_O32_Linux_syscalls + 1 | 264 | sltiu v0, t0, __NR_O32_Linux_syscalls + 1 |
272 | #endif | ||
273 | sll t1, t0, 3 | 265 | sll t1, t0, 3 |
274 | beqz v0, einval | 266 | beqz v0, einval |
275 | 267 | ||
276 | lw t2, sys_call_table(t1) # syscall routine | 268 | lw t2, sys_call_table(t1) # syscall routine |
277 | 269 | ||
278 | #if defined(CONFIG_BINFMT_IRIX) | ||
279 | li v1, 4000 # nr of sys_syscall | ||
280 | #else | ||
281 | li v1, 4000 - __NR_O32_Linux # index of sys_syscall | 270 | li v1, 4000 - __NR_O32_Linux # index of sys_syscall |
282 | #endif | ||
283 | beq t0, v1, einval # do not recurse | 271 | beq t0, v1, einval # do not recurse |
284 | 272 | ||
285 | /* Some syscalls like execve get their arguments from struct pt_regs | 273 | /* Some syscalls like execve get their arguments from struct pt_regs |
@@ -324,13 +312,6 @@ einval: li v0, -EINVAL | |||
324 | .endm | 312 | .endm |
325 | 313 | ||
326 | .macro syscalltable | 314 | .macro syscalltable |
327 | #if defined(CONFIG_BINFMT_IRIX) | ||
328 | mille sys_ni_syscall 0 /* 0 - 999 SVR4 flavour */ | ||
329 | mille sys_ni_syscall 0 /* 1000 - 1999 32-bit IRIX */ | ||
330 | mille sys_ni_syscall 0 /* 2000 - 2999 BSD43 flavour */ | ||
331 | mille sys_ni_syscall 0 /* 3000 - 3999 POSIX flavour */ | ||
332 | #endif | ||
333 | |||
334 | sys sys_syscall 8 /* 4000 */ | 315 | sys sys_syscall 8 /* 4000 */ |
335 | sys sys_exit 1 | 316 | sys sys_exit 1 |
336 | sys sys_fork 0 | 317 | sys sys_fork 0 |