Skip to content

Commit

Permalink
[MIPS] Wire up the timerfd_*() o32 system calls
Browse files Browse the repository at this point in the history
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: Dmitri Vorobiev <[email protected]>

[Ralf: Added N64, N32 and O32 bits on 64-bit kernels.]
Signed-off-by: Ralf Baechle <[email protected]>
  • Loading branch information
dmvo authored and ralfbaechle committed Feb 19, 2008
1 parent 84502f8 commit 6783fe6
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 6 deletions.
3 changes: 3 additions & 0 deletions arch/mips/kernel/scall32-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,9 @@ einval: li v0, -EINVAL
sys sys_ni_syscall 0
sys sys_eventfd 1
sys sys_fallocate 6 /* 4320 */
sys sys_timerfd_create 2
sys sys_timerfd_gettime 2
sys sys_timerfd_settime 4
.endm

/* We pre-compute the number of _instruction_ bytes needed to
Expand Down
3 changes: 3 additions & 0 deletions arch/mips/kernel/scall64-64.S
Original file line number Diff line number Diff line change
Expand Up @@ -478,4 +478,7 @@ sys_call_table:
PTR sys_ni_syscall
PTR sys_eventfd
PTR sys_fallocate
PTR sys_timerfd_create /* 5280 */
PTR sys_timerfd_gettime
PTR sys_timerfd_settime
.size sys_call_table,.-sys_call_table
3 changes: 3 additions & 0 deletions arch/mips/kernel/scall64-n32.S
Original file line number Diff line number Diff line change
Expand Up @@ -404,4 +404,7 @@ EXPORT(sysn32_call_table)
PTR sys_ni_syscall
PTR sys_eventfd
PTR sys_fallocate
PTR sys_timerfd_create
PTR sys_timerfd_gettime /* 5285 */
PTR sys_timerfd_settime
.size sysn32_call_table,.-sysn32_call_table
3 changes: 3 additions & 0 deletions arch/mips/kernel/scall64-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -526,4 +526,7 @@ sys_call_table:
PTR sys_ni_syscall
PTR sys_eventfd
PTR sys32_fallocate /* 4320 */
PTR sys_timerfd_create
PTR sys_timerfd_gettime
PTR sys_timerfd_settime
.size sys_call_table,.-sys_call_table
21 changes: 15 additions & 6 deletions include/asm-mips/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -341,16 +341,19 @@
#define __NR_timerfd (__NR_Linux + 318)
#define __NR_eventfd (__NR_Linux + 319)
#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
*/
#define __NR_Linux_syscalls 320
#define __NR_Linux_syscalls 323

#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */

#define __NR_O32_Linux 4000
#define __NR_O32_Linux_syscalls 320
#define __NR_O32_Linux_syscalls 323

#if _MIPS_SIM == _MIPS_SIM_ABI64

Expand Down Expand Up @@ -638,16 +641,19 @@
#define __NR_timerfd (__NR_Linux + 277)
#define __NR_eventfd (__NR_Linux + 278)
#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
*/
#define __NR_Linux_syscalls 279
#define __NR_Linux_syscalls 282

#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */

#define __NR_64_Linux 5000
#define __NR_64_Linux_syscalls 279
#define __NR_64_Linux_syscalls 282

#if _MIPS_SIM == _MIPS_SIM_NABI32

Expand Down Expand Up @@ -939,16 +945,19 @@
#define __NR_timerfd (__NR_Linux + 281)
#define __NR_eventfd (__NR_Linux + 282)
#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
*/
#define __NR_Linux_syscalls 283
#define __NR_Linux_syscalls 286

#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */

#define __NR_N32_Linux 6000
#define __NR_N32_Linux_syscalls 283
#define __NR_N32_Linux_syscalls 286

#ifdef __KERNEL__

Expand Down

0 comments on commit 6783fe6

Please sign in to comment.