s390/compat: convert system call wrappers to C part 06
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 27 Feb 2014 14:33:06 +0000 (15:33 +0100)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Mar 2014 08:05:41 +0000 (09:05 +0100)
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/compat_wrap.c
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/syscalls.S

index 558a1d4..60813d5 100644 (file)
@@ -74,3 +74,13 @@ COMPAT_SYSCALL_WRAP2(bdflush, int, func, compat_long_t, data);
 COMPAT_SYSCALL_WRAP3(sysfs, int, option, compat_ulong_t, arg1, compat_ulong_t, arg2);
 COMPAT_SYSCALL_WRAP1(s390_personality, unsigned int, personality);
 COMPAT_SYSCALL_WRAP5(llseek, unsigned int, fd, u32, high, u32, low, loff_t __user *, result, unsigned int, whence);
+COMPAT_SYSCALL_WRAP2(flock, unsigned int, fd, unsigned int, cmd);
+COMPAT_SYSCALL_WRAP3(msync, compat_ulong_t, start, compat_size_t, len, int, flags);
+COMPAT_SYSCALL_WRAP1(getsid, compat_pid_t, pid);
+COMPAT_SYSCALL_WRAP1(fdatasync, unsigned int, fd);
+COMPAT_SYSCALL_WRAP2(mlock, compat_ulong_t, start, compat_size_t, len);
+COMPAT_SYSCALL_WRAP2(munlock, compat_ulong_t, start, compat_size_t, len);
+COMPAT_SYSCALL_WRAP1(mlockall, int, flags);
+COMPAT_SYSCALL_WRAP2(sched_setparam, compat_pid_t, pid, struct sched_param __user *, param);
+COMPAT_SYSCALL_WRAP2(sched_getparam, compat_pid_t, pid, struct sched_param __user *, param);
+COMPAT_SYSCALL_WRAP3(sched_setscheduler, compat_pid_t, pid, int, policy, struct sched_param __user *, param);
index 78b7899..707e375 100644 (file)
@@ -142,17 +142,6 @@ ENTRY(compat_sys_select_wrapper)
        llgtr   %r6,%r6                 # struct compat_timeval *
        jg      compat_sys_select       # branch to system call
 
-ENTRY(sys32_flock_wrapper)
-       llgfr   %r2,%r2                 # unsigned int
-       llgfr   %r3,%r3                 # unsigned int
-       jg      sys_flock               # branch to system call
-
-ENTRY(sys32_msync_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       lgfr    %r4,%r4                 # int
-       jg      sys_msync               # branch to system call
-
 ENTRY(compat_sys_readv_wrapper)
        lgfr    %r2,%r2                 # int
        llgtr   %r3,%r3                 # const struct compat_iovec *
@@ -165,46 +154,6 @@ ENTRY(compat_sys_writev_wrapper)
        llgfr   %r4,%r4                 # unsigned long
        jg      compat_sys_writev       # branch to system call
 
-ENTRY(sys32_getsid_wrapper)
-       lgfr    %r2,%r2                 # pid_t
-       jg      sys_getsid              # branch to system call
-
-ENTRY(sys32_fdatasync_wrapper)
-       llgfr   %r2,%r2                 # unsigned int
-       jg      sys_fdatasync           # branch to system call
-
-ENTRY(sys32_mlock_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       jg      sys_mlock               # branch to system call
-
-ENTRY(sys32_munlock_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       jg      sys_munlock             # branch to system call
-
-ENTRY(sys32_mlockall_wrapper)
-       lgfr    %r2,%r2                 # int
-       jg      sys_mlockall            # branch to system call
-
-#sys32_munlockall_wrapper              # void
-
-ENTRY(sys32_sched_setparam_wrapper)
-       lgfr    %r2,%r2                 # pid_t
-       llgtr   %r3,%r3                 # struct sched_param *
-       jg      sys_sched_setparam      # branch to system call
-
-ENTRY(sys32_sched_getparam_wrapper)
-       lgfr    %r2,%r2                 # pid_t
-       llgtr   %r3,%r3                 # struct sched_param *
-       jg      sys_sched_getparam      # branch to system call
-
-ENTRY(sys32_sched_setscheduler_wrapper)
-       lgfr    %r2,%r2                 # pid_t
-       lgfr    %r3,%r3                 # int
-       llgtr   %r4,%r4                 # struct sched_param *
-       jg      sys_sched_setscheduler  # branch to system call
-
 ENTRY(sys32_sched_getscheduler_wrapper)
        lgfr    %r2,%r2                 # pid_t
        jg      sys_sched_getscheduler  # branch to system call
index 88c85e4..c667bb1 100644 (file)
@@ -151,20 +151,20 @@ SYSCALL(sys_setfsgid16,sys_ni_syscall,compat_sys_s390_setfsgid16) /* old setfsgi
 SYSCALL(sys_llseek,sys_llseek,compat_sys_llseek)               /* 140 */
 SYSCALL(sys_getdents,sys_getdents,sys32_getdents_wrapper)
 SYSCALL(sys_select,sys_select,compat_sys_select_wrapper)
-SYSCALL(sys_flock,sys_flock,sys32_flock_wrapper)
-SYSCALL(sys_msync,sys_msync,sys32_msync_wrapper)
+SYSCALL(sys_flock,sys_flock,compat_sys_flock)
+SYSCALL(sys_msync,sys_msync,compat_sys_msync)
 SYSCALL(sys_readv,sys_readv,compat_sys_readv_wrapper)          /* 145 */
 SYSCALL(sys_writev,sys_writev,compat_sys_writev_wrapper)
-SYSCALL(sys_getsid,sys_getsid,sys32_getsid_wrapper)
-SYSCALL(sys_fdatasync,sys_fdatasync,sys32_fdatasync_wrapper)
+SYSCALL(sys_getsid,sys_getsid,compat_sys_getsid)
+SYSCALL(sys_fdatasync,sys_fdatasync,compat_sys_fdatasync)
 SYSCALL(sys_sysctl,sys_sysctl,compat_sys_sysctl)
-SYSCALL(sys_mlock,sys_mlock,sys32_mlock_wrapper)               /* 150 */
-SYSCALL(sys_munlock,sys_munlock,sys32_munlock_wrapper)
-SYSCALL(sys_mlockall,sys_mlockall,sys32_mlockall_wrapper)
+SYSCALL(sys_mlock,sys_mlock,compat_sys_mlock)                  /* 150 */
+SYSCALL(sys_munlock,sys_munlock,compat_sys_munlock)
+SYSCALL(sys_mlockall,sys_mlockall,compat_sys_mlockall)
 SYSCALL(sys_munlockall,sys_munlockall,sys_munlockall)
-SYSCALL(sys_sched_setparam,sys_sched_setparam,sys32_sched_setparam_wrapper)
-SYSCALL(sys_sched_getparam,sys_sched_getparam,sys32_sched_getparam_wrapper)    /* 155 */
-SYSCALL(sys_sched_setscheduler,sys_sched_setscheduler,sys32_sched_setscheduler_wrapper)
+SYSCALL(sys_sched_setparam,sys_sched_setparam,compat_sys_sched_setparam)
+SYSCALL(sys_sched_getparam,sys_sched_getparam,compat_sys_sched_getparam)       /* 155 */
+SYSCALL(sys_sched_setscheduler,sys_sched_setscheduler,compat_sys_sched_setscheduler)
 SYSCALL(sys_sched_getscheduler,sys_sched_getscheduler,sys32_sched_getscheduler_wrapper)
 SYSCALL(sys_sched_yield,sys_sched_yield,sys_sched_yield)
 SYSCALL(sys_sched_get_priority_max,sys_sched_get_priority_max,sys32_sched_get_priority_max_wrapper)