[S390] wire up prlimit64 and fanotify* syscalls
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 13 Aug 2010 08:06:41 +0000 (10:06 +0200)
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>
Fri, 13 Aug 2010 08:06:54 +0000 (10:06 +0200)
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/unistd.h
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/syscalls.S

index 5f00751..1049ef2 100644 (file)
 #define        __NR_pwritev            329
 #define __NR_rt_tgsigqueueinfo 330
 #define __NR_perf_event_open   331
-#define NR_syscalls 332
+#define __NR_fanotify_init     332
+#define __NR_fanotify_mark     333
+#define __NR_prlimit64         334
+#define NR_syscalls 335
 
 /* 
  * There are some system calls that are not present on 64 bit, some
index 1600f50..8e60fb2 100644 (file)
@@ -1853,3 +1853,27 @@ sys32_execve_wrapper:
        llgtr   %r3,%r3                 # compat_uptr_t *
        llgtr   %r4,%r4                 # compat_uptr_t *
        jg      sys32_execve            # branch to system call
+
+       .globl  sys_fanotify_init_wrapper
+sys_fanotify_init_wrapper:
+       llgfr   %r2,%r2                 # unsigned int
+       llgfr   %r3,%r3                 # unsigned int
+       jg      sys_fanotify_init       # branch to system call
+
+       .globl  sys_fanotify_mark_wrapper
+sys_fanotify_mark_wrapper:
+       lgfr    %r2,%r2                 # int
+       llgfr   %r3,%r3                 # unsigned int
+       sllg    %r4,%r4,32              # get high word of 64bit mask
+       lr      %r4,%r5                 # get low word of 64bit mask
+       llgfr   %r5,%r6                 # unsigned int
+       llgt    %r6,164(%r15)           # char *
+       jg      sys_fanotify_mark       # branch to system call
+
+       .globl  sys_prlimit64_wrapper
+sys_prlimit64_wrapper:
+       lgfr    %r2,%r2                 # pid_t
+       llgfr   %r3,%r3                 # unsigned int
+       llgtr   %r4,%r4                 # const struct rlimit64 __user *
+       llgtr   %r5,%r5                 # struct rlimit64 __user *
+       jg      sys_prlimit64           # branch to system call
index 201ce6b..a8fee1b 100644 (file)
@@ -340,3 +340,6 @@ SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper)
 SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper)
 SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */
 SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper)
+SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper)
+SYSCALL(sys_fanotify_mark,sys_fanotify_mark,sys_fanotify_mark_wrapper)
+SYSCALL(sys_prlimit64,sys_prlimit64,sys_prlimit64_wrapper)