[MIPS] Wire up the fallocate syscall.
Ralf Baechle [Thu, 26 Jul 2007 02:38:24 +0000 (03:38 +0100)]
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

arch/mips/kernel/linux32.c
arch/mips/kernel/scall32-o32.S
arch/mips/kernel/scall64-64.S
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-o32.S
include/asm-mips/unistd.h

index c37568d..135d9a5 100644 (file)
@@ -566,6 +566,13 @@ asmlinkage long sys32_fadvise64_64(int fd, int __pad,
                        flags);
 }
 
+asmlinkage long sys32_fallocate(int fd, int mode, unsigned offset_a2,
+       unsigned offset_a3, unsigned len_a4, unsigned len_a5)
+{
+       return sys_fallocate(fd, mode, merge_64(offset_a2, offset_a3),
+                            merge_64(len_a4, len_a5));
+}
+
 save_static_function(sys32_clone);
 static int noinline __used
 _sys32_clone(nabi_no_regargs struct pt_regs regs)
index ae985d1..82480a1 100644 (file)
@@ -662,6 +662,7 @@ einval:     li      v0, -EINVAL
        sys     sys_signalfd            3
        sys     sys_timerfd             4
        sys     sys_eventfd             1
+       sys     sys_fallocate           6       /* 4320 */
        .endm
 
        /* We pre-compute the number of _instruction_ bytes needed to
index 7bcd5a1..c2c1087 100644 (file)
@@ -477,4 +477,5 @@ sys_call_table:
        PTR     sys_signalfd
        PTR     sys_timerfd
        PTR     sys_eventfd
+       PTR     sys_fallocate
        .size   sys_call_table,.-sys_call_table
index 532a2f3..53d7a97 100644 (file)
@@ -403,4 +403,5 @@ EXPORT(sysn32_call_table)
        PTR     compat_sys_signalfd             /* 5280 */
        PTR     compat_sys_timerfd
        PTR     sys_eventfd
+       PTR     sys_fallocate
        .size   sysn32_call_table,.-sysn32_call_table
index 6bbe0f4..b3ed731 100644 (file)
@@ -525,4 +525,5 @@ sys_call_table:
        PTR     compat_sys_signalfd
        PTR     compat_sys_timerfd
        PTR     sys_eventfd
+       PTR     sys_fallocate                   /* 4320 */
        .size   sys_call_table,.-sys_call_table
index ed16de0..fa9a587 100644 (file)
 #define __NR_signalfd                  (__NR_Linux + 317)
 #define __NR_timerfd                   (__NR_Linux + 318)
 #define __NR_eventfd                   (__NR_Linux + 319)
+#define __NR_fallocate                 (__NR_Linux + 320)
 
 /*
  * Offset of the last Linux o32 flavoured syscall
  */
-#define __NR_Linux_syscalls            319
+#define __NR_Linux_syscalls            320
 
 #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
 
 #define __NR_O32_Linux                 4000
-#define __NR_O32_Linux_syscalls                319
+#define __NR_O32_Linux_syscalls                320
 
 #if _MIPS_SIM == _MIPS_SIM_ABI64
 
 #define __NR_signalfd                  (__NR_Linux + 276)
 #define __NR_timerfd                   (__NR_Linux + 277)
 #define __NR_eventfd                   (__NR_Linux + 278)
+#define __NR_fallocate                 (__NR_Linux + 279)
 
 /*
  * Offset of the last Linux 64-bit flavoured syscall
  */
-#define __NR_Linux_syscalls            278
+#define __NR_Linux_syscalls            279
 
 #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
 
 #define __NR_64_Linux                  5000
-#define __NR_64_Linux_syscalls         278
+#define __NR_64_Linux_syscalls         279
 
 #if _MIPS_SIM == _MIPS_SIM_NABI32
 
 #define __NR_signalfd                  (__NR_Linux + 280)
 #define __NR_timerfd                   (__NR_Linux + 281)
 #define __NR_eventfd                   (__NR_Linux + 282)
+#define __NR_fallocate                 (__NR_Linux + 283)
 
 /*
  * Offset of the last N32 flavoured syscall
  */
-#define __NR_Linux_syscalls            282
+#define __NR_Linux_syscalls            283
 
 #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
 
 #define __NR_N32_Linux                 6000
-#define __NR_N32_Linux_syscalls                282
+#define __NR_N32_Linux_syscalls                283
 
 #ifdef __KERNEL__