summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-04-19 00:04:18 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-04-19 00:04:18 +0000
commit31dc59d503a02e84c4de98826452acaeb56dc15a (patch)
tree2ddf6a0424b4178b914d50e46f1c006eff15b491 /arch
parenta7f4071ab77d0f48c20b16020eaaff564a376655 (diff)
Pause fix for mips64.
Diffstat (limited to 'arch')
-rw-r--r--arch/mips64/kernel/scall_64.S2
-rw-r--r--arch/mips64/kernel/scall_o32.S2
-rw-r--r--arch/mips64/kernel/syscall.c7
3 files changed, 9 insertions, 2 deletions
diff --git a/arch/mips64/kernel/scall_64.S b/arch/mips64/kernel/scall_64.S
index 224f43378..07b8ff7c0 100644
--- a/arch/mips64/kernel/scall_64.S
+++ b/arch/mips64/kernel/scall_64.S
@@ -160,7 +160,7 @@ sys_call_table:
PTR sys_ni_syscall /* ptrace */
PTR sys_alarm
PTR sys_fstat
- PTR sys_ni_syscall
+ PTR sys_pause
PTR sys_utime /* 4030 */
PTR sys_ni_syscall
PTR sys_ni_syscall
diff --git a/arch/mips64/kernel/scall_o32.S b/arch/mips64/kernel/scall_o32.S
index d1e21bff1..372b08050 100644
--- a/arch/mips64/kernel/scall_o32.S
+++ b/arch/mips64/kernel/scall_o32.S
@@ -229,7 +229,7 @@ illegal_syscall:
sys sys32_ptrace 4
sys sys32_alarm 1
sys sys_fstat 2
- sys sys_ni_syscall 0
+ sys sys_pause 0
sys sys_utime 2 /* 4030 */
sys sys_ni_syscall 0
sys sys_ni_syscall 0
diff --git a/arch/mips64/kernel/syscall.c b/arch/mips64/kernel/syscall.c
index ea225ff08..f791806d6 100644
--- a/arch/mips64/kernel/syscall.c
+++ b/arch/mips64/kernel/syscall.c
@@ -321,3 +321,10 @@ asmlinkage void bad_stack(void)
{
do_exit(SIGSEGV);
}
+
+asmlinkage int sys_pause(void)
+{
+ current->state = TASK_INTERRUPTIBLE;
+ schedule();
+ return -ERESTARTNOHAND;
+}