2008-02-18 21:02:50

by Dmitri Vorobiev

[permalink] [raw]
Subject: [PATCH] [MIPS] Enable 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.

Note that only the "o32"-style system calls have been added. This is
due to the fact that I have no suitable equipment to test the other
flavors of MIPS ABI.

Signed-off-by: Dmitri Vorobiev <[email protected]>
---
arch/mips/kernel/scall32-o32.S | 3 +++
include/asm-mips/unistd.h | 7 +++++--
2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S
index f798139..08a9c50 100644
--- a/arch/mips/kernel/scall32-o32.S
+++ b/arch/mips/kernel/scall32-o32.S
@@ -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
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h
index fa9a587..7316b55 100644
--- a/include/asm-mips/unistd.h
+++ b/include/asm-mips/unistd.h
@@ -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

--
1.5.3


2008-02-19 14:19:50

by Ralf Baechle

[permalink] [raw]
Subject: Re: [PATCH] [MIPS] Enable the timerfd_*() o32 system calls

On Tue, Feb 19, 2008 at 12:02:37AM +0300, Dmitri Vorobiev wrote:

> 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.
>
> Note that only the "o32"-style system calls have been added. This is
> due to the fact that I have no suitable equipment to test the other
> flavors of MIPS ABI.

Thanks. I added the missing bits for the others ABIs and applied the
combined patch.

Ralf

2008-02-19 22:09:21

by Dmitri Vorobiev

[permalink] [raw]
Subject: Re: [PATCH] [MIPS] Enable the timerfd_*() o32 system calls

Ralf Baechle пишет:
> On Tue, Feb 19, 2008 at 12:02:37AM +0300, Dmitri Vorobiev wrote:
>
>> 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.
>>
>> Note that only the "o32"-style system calls have been added. This is
>> due to the fact that I have no suitable equipment to test the other
>> flavors of MIPS ABI.
>
> Thanks. I added the missing bits for the others ABIs and applied the
> combined patch.

Thank you, Ralf!

Dmitri

>
> Ralf
>