Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
@@ -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
+15 −6
Original line number Diff line number Diff line
@@ -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

@@ -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

@@ -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__