diff options
-rw-r--r-- | arch/mips64/kernel/scall_64.S | 2 | ||||
-rw-r--r-- | arch/mips64/kernel/scall_o32.S | 2 | ||||
-rw-r--r-- | arch/mips64/kernel/syscall.c | 7 | ||||
-rw-r--r-- | include/asm-mips64/unistd.h | 4 |
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) |