summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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
-rw-r--r--include/asm-mips64/unistd.h4
4 files changed, 11 insertions, 4 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;
+}
diff --git a/include/asm-mips64/unistd.h b/include/asm-mips64/unistd.h
index 38c62a456..5c3689b3a 100644
--- a/include/asm-mips64/unistd.h
+++ b/include/asm-mips64/unistd.h
@@ -1014,7 +1014,7 @@
#define __NR_Linux32_ptrace (__NR_Linux32 + 26)
#define __NR_Linux32_alarm (__NR_Linux32 + 27)
#define __NR_Linux32_oldfstat (__NR_Linux32 + 28)
-#define __NR_Linux32_unused29 (__NR_Linux32 + 29)
+#define __NR_Linux32_pause (__NR_Linux32 + 29)
#define __NR_Linux32_utime (__NR_Linux32 + 30)
#define __NR_Linux32_stty (__NR_Linux32 + 31)
#define __NR_Linux32_gtty (__NR_Linux32 + 32)
@@ -1243,7 +1243,7 @@
#define __NR_ptrace (__NR_Linux + 26)
#define __NR_alarm (__NR_Linux + 27)
#define __NR_oldfstat (__NR_Linux + 28)
-#define __NR_unused29 (__NR_Linux + 29)
+#define __NR_pause (__NR_Linux + 29)
#define __NR_utime (__NR_Linux + 30)
#define __NR_stty (__NR_Linux + 31)
#define __NR_gtty (__NR_Linux + 32)