Commit 6783fe62 authored by Dmitri Vorobiev's avatar Dmitri Vorobiev Committed by Ralf Baechle

[MIPS] Wire up the timerfd_*() o32 system calls

This patch enables the system calls timerfd_create(), timerfd_settime()
and timerfd_gettime() for MIPS architecture.

Please see the following Bugzilla entry for more details:

http://bugzilla.kernel.org/show_bug.cgi?id=10038

This was tested using a Malta 4Kc board in both little-endian and
big-endian modes. The unit test program is available from the URL
above.
Signed-off-by: default avatarDmitri Vorobiev <dmitri.vorobiev@gmail.com>

[Ralf: Added N64, N32 and O32 bits on 64-bit kernels.]
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 84502f81
...@@ -663,6 +663,9 @@ einval: li v0, -EINVAL ...@@ -663,6 +663,9 @@ einval: li v0, -EINVAL
sys sys_ni_syscall 0 sys sys_ni_syscall 0
sys sys_eventfd 1 sys sys_eventfd 1
sys sys_fallocate 6 /* 4320 */ sys sys_fallocate 6 /* 4320 */
sys sys_timerfd_create 2
sys sys_timerfd_gettime 2
sys sys_timerfd_settime 4
.endm .endm
/* We pre-compute the number of _instruction_ bytes needed to /* We pre-compute the number of _instruction_ bytes needed to
......
...@@ -478,4 +478,7 @@ sys_call_table: ...@@ -478,4 +478,7 @@ sys_call_table:
PTR sys_ni_syscall PTR sys_ni_syscall
PTR sys_eventfd PTR sys_eventfd
PTR sys_fallocate PTR sys_fallocate
PTR sys_timerfd_create /* 5280 */
PTR sys_timerfd_gettime
PTR sys_timerfd_settime
.size sys_call_table,.-sys_call_table .size sys_call_table,.-sys_call_table
...@@ -404,4 +404,7 @@ EXPORT(sysn32_call_table) ...@@ -404,4 +404,7 @@ EXPORT(sysn32_call_table)
PTR sys_ni_syscall PTR sys_ni_syscall
PTR sys_eventfd PTR sys_eventfd
PTR sys_fallocate PTR sys_fallocate
PTR sys_timerfd_create
PTR sys_timerfd_gettime /* 5285 */
PTR sys_timerfd_settime
.size sysn32_call_table,.-sysn32_call_table .size sysn32_call_table,.-sysn32_call_table
...@@ -526,4 +526,7 @@ sys_call_table: ...@@ -526,4 +526,7 @@ sys_call_table:
PTR sys_ni_syscall PTR sys_ni_syscall
PTR sys_eventfd PTR sys_eventfd
PTR sys32_fallocate /* 4320 */ PTR sys32_fallocate /* 4320 */
PTR sys_timerfd_create
PTR sys_timerfd_gettime
PTR sys_timerfd_settime
.size sys_call_table,.-sys_call_table .size sys_call_table,.-sys_call_table
...@@ -341,16 +341,19 @@ ...@@ -341,16 +341,19 @@
#define __NR_timerfd (__NR_Linux + 318) #define __NR_timerfd (__NR_Linux + 318)
#define __NR_eventfd (__NR_Linux + 319) #define __NR_eventfd (__NR_Linux + 319)
#define __NR_fallocate (__NR_Linux + 320) #define __NR_fallocate (__NR_Linux + 320)
#define __NR_timerfd_create (__NR_Linux + 321)
#define __NR_timerfd_gettime (__NR_Linux + 322)
#define __NR_timerfd_settime (__NR_Linux + 323)
/* /*
* Offset of the last Linux o32 flavoured syscall * Offset of the last Linux o32 flavoured syscall
*/ */
#define __NR_Linux_syscalls 320 #define __NR_Linux_syscalls 323
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
#define __NR_O32_Linux 4000 #define __NR_O32_Linux 4000
#define __NR_O32_Linux_syscalls 320 #define __NR_O32_Linux_syscalls 323
#if _MIPS_SIM == _MIPS_SIM_ABI64 #if _MIPS_SIM == _MIPS_SIM_ABI64
...@@ -638,16 +641,19 @@ ...@@ -638,16 +641,19 @@
#define __NR_timerfd (__NR_Linux + 277) #define __NR_timerfd (__NR_Linux + 277)
#define __NR_eventfd (__NR_Linux + 278) #define __NR_eventfd (__NR_Linux + 278)
#define __NR_fallocate (__NR_Linux + 279) #define __NR_fallocate (__NR_Linux + 279)
#define __NR_timerfd_create (__NR_Linux + 280)
#define __NR_timerfd_gettime (__NR_Linux + 281)
#define __NR_timerfd_settime (__NR_Linux + 282)
/* /*
* Offset of the last Linux 64-bit flavoured syscall * Offset of the last Linux 64-bit flavoured syscall
*/ */
#define __NR_Linux_syscalls 279 #define __NR_Linux_syscalls 282
#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
#define __NR_64_Linux 5000 #define __NR_64_Linux 5000
#define __NR_64_Linux_syscalls 279 #define __NR_64_Linux_syscalls 282
#if _MIPS_SIM == _MIPS_SIM_NABI32 #if _MIPS_SIM == _MIPS_SIM_NABI32
...@@ -939,16 +945,19 @@ ...@@ -939,16 +945,19 @@
#define __NR_timerfd (__NR_Linux + 281) #define __NR_timerfd (__NR_Linux + 281)
#define __NR_eventfd (__NR_Linux + 282) #define __NR_eventfd (__NR_Linux + 282)
#define __NR_fallocate (__NR_Linux + 283) #define __NR_fallocate (__NR_Linux + 283)
#define __NR_timerfd_create (__NR_Linux + 284)
#define __NR_timerfd_gettime (__NR_Linux + 285)
#define __NR_timerfd_settime (__NR_Linux + 286)
/* /*
* Offset of the last N32 flavoured syscall * Offset of the last N32 flavoured syscall
*/ */
#define __NR_Linux_syscalls 283 #define __NR_Linux_syscalls 286
#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
#define __NR_N32_Linux 6000 #define __NR_N32_Linux 6000
#define __NR_N32_Linux_syscalls 283 #define __NR_N32_Linux_syscalls 286
#ifdef __KERNEL__ #ifdef __KERNEL__
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment