s390/compat: convert system call wrappers to C part 04
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 27 Feb 2014 13:20:53 +0000 (14:20 +0100)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Mar 2014 08:05:40 +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 ac26ee7..f2b8540 100644 (file)
@@ -53,3 +53,13 @@ COMPAT_SYSCALL_WRAP2(symlink, const char __user *, old, const char __user *, new
 COMPAT_SYSCALL_WRAP3(readlink, const char __user *, path, char __user *, buf, int, bufsiz);
 COMPAT_SYSCALL_WRAP1(uselib, const char __user *, library);
 COMPAT_SYSCALL_WRAP2(swapon, const char __user *, specialfile, int, swap_flags);
+COMPAT_SYSCALL_WRAP4(reboot, int, magic1, int, magic2, unsigned int, cmd, void __user *, arg);
+COMPAT_SYSCALL_WRAP2(munmap, compat_ulong_t, addr, compat_size_t, len);
+COMPAT_SYSCALL_WRAP2(fchmod, unsigned int, fd, umode_t, mode);
+COMPAT_SYSCALL_WRAP2(getpriority, int, which, int, who);
+COMPAT_SYSCALL_WRAP3(setpriority, int, which, int, who, int, niceval);
+COMPAT_SYSCALL_WRAP3(syslog, int, type, char __user *, buf, int, len);
+COMPAT_SYSCALL_WRAP1(swapoff, const char __user *, specialfile);
+COMPAT_SYSCALL_WRAP1(fsync, unsigned int, fd);
+COMPAT_SYSCALL_WRAP2(setdomainname, char __user *, name, int, len);
+COMPAT_SYSCALL_WRAP1(newuname, struct new_utsname __user *, name);
index 3597511..3ea908f 100644 (file)
@@ -84,40 +84,12 @@ ENTRY(compat_sys_settimeofday_wrapper)
        llgtr   %r3,%r3                 # struct timezone *
        jg      compat_sys_settimeofday # branch to system call
 
-ENTRY(sys32_reboot_wrapper)
-       lgfr    %r2,%r2                 # int
-       lgfr    %r3,%r3                 # int
-       llgfr   %r4,%r4                 # unsigned int
-       llgtr   %r5,%r5                 # void *
-       jg      sys_reboot              # branch to system call
-
 ENTRY(old32_readdir_wrapper)
        llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # void *
        llgfr   %r4,%r4                 # unsigned int
        jg      compat_sys_old_readdir  # branch to system call
 
-ENTRY(sys32_munmap_wrapper)
-       llgfr   %r2,%r2                 # unsigned long
-       llgfr   %r3,%r3                 # size_t
-       jg      sys_munmap              # branch to system call
-
-ENTRY(sys32_fchmod_wrapper)
-       llgfr   %r2,%r2                 # unsigned int
-       llgfr   %r3,%r3                 # mode_t
-       jg      sys_fchmod              # branch to system call
-
-ENTRY(sys32_getpriority_wrapper)
-       lgfr    %r2,%r2                 # int
-       lgfr    %r3,%r3                 # int
-       jg      sys_getpriority         # branch to system call
-
-ENTRY(sys32_setpriority_wrapper)
-       lgfr    %r2,%r2                 # int
-       lgfr    %r3,%r3                 # int
-       lgfr    %r4,%r4                 # int
-       jg      sys_setpriority         # branch to system call
-
 ENTRY(compat_sys_statfs_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct compat_statfs *
@@ -133,12 +105,6 @@ ENTRY(compat_sys_socketcall_wrapper)
        llgtr   %r3,%r3                 # u32 *
        jg      compat_sys_socketcall   # branch to system call
 
-ENTRY(sys32_syslog_wrapper)
-       lgfr    %r2,%r2                 # int
-       llgtr   %r3,%r3                 # char *
-       lgfr    %r4,%r4                 # int
-       jg      sys_syslog              # branch to system call
-
 ENTRY(compat_sys_newstat_wrapper)
        llgtr   %r2,%r2                 # char *
        llgtr   %r3,%r3                 # struct stat_emu31 *
@@ -154,33 +120,10 @@ ENTRY(compat_sys_newfstat_wrapper)
        llgtr   %r3,%r3                 # struct stat_emu31 *
        jg      compat_sys_newfstat     # branch to system call
 
-#sys32_vhangup_wrapper                 # void
-
-ENTRY(sys32_swapoff_wrapper)
-       llgtr   %r2,%r2                 # const char *
-       jg      sys_swapoff             # branch to system call
-
 ENTRY(compat_sys_sysinfo_wrapper)
        llgtr   %r2,%r2                 # struct sysinfo_emu31 *
        jg      compat_sys_sysinfo      # branch to system call
 
-ENTRY(sys32_fsync_wrapper)
-       llgfr   %r2,%r2                 # unsigned int
-       jg      sys_fsync               # branch to system call
-
-#sys32_sigreturn_wrapper               # done in sigreturn_glue
-
-#sys32_clone_wrapper                   # done in clone_glue
-
-ENTRY(sys32_setdomainname_wrapper)
-       llgtr   %r2,%r2                 # char *
-       lgfr    %r3,%r3                 # int
-       jg      sys_setdomainname       # branch to system call
-
-ENTRY(sys32_newuname_wrapper)
-       llgtr   %r2,%r2                 # struct new_utsname *
-       jg      sys_newuname            # branch to system call
-
 ENTRY(compat_sys_adjtimex_wrapper)
        llgtr   %r2,%r2                 # struct compat_timex *
        jg      compat_sys_adjtimex     # branch to system call
index 5bc24d9..4cf5a52 100644 (file)
@@ -96,22 +96,22 @@ NI_SYSCALL                                                  /* old lstat syscall */
 SYSCALL(sys_readlink,sys_readlink,compat_sys_readlink)         /* 85 */
 SYSCALL(sys_uselib,sys_uselib,compat_sys_uselib)
 SYSCALL(sys_swapon,sys_swapon,compat_sys_swapon)
-SYSCALL(sys_reboot,sys_reboot,sys32_reboot_wrapper)
+SYSCALL(sys_reboot,sys_reboot,compat_sys_reboot)
 SYSCALL(sys_ni_syscall,sys_ni_syscall,old32_readdir_wrapper)   /* old readdir syscall */
 SYSCALL(sys_old_mmap,sys_old_mmap,compat_sys_s390_old_mmap)    /* 90 */
-SYSCALL(sys_munmap,sys_munmap,sys32_munmap_wrapper)
+SYSCALL(sys_munmap,sys_munmap,compat_sys_munmap)
 SYSCALL(sys_truncate,sys_truncate,compat_sys_truncate)
 SYSCALL(sys_ftruncate,sys_ftruncate,compat_sys_ftruncate)
-SYSCALL(sys_fchmod,sys_fchmod,sys32_fchmod_wrapper)
+SYSCALL(sys_fchmod,sys_fchmod,compat_sys_fchmod)
 SYSCALL(sys_fchown16,sys_ni_syscall,compat_sys_s390_fchown16)  /* 95 old fchown16 syscall*/
-SYSCALL(sys_getpriority,sys_getpriority,sys32_getpriority_wrapper)
-SYSCALL(sys_setpriority,sys_setpriority,sys32_setpriority_wrapper)
+SYSCALL(sys_getpriority,sys_getpriority,compat_sys_getpriority)
+SYSCALL(sys_setpriority,sys_setpriority,compat_sys_setpriority)
 NI_SYSCALL                                                     /* old profil syscall */
 SYSCALL(sys_statfs,sys_statfs,compat_sys_statfs_wrapper)
 SYSCALL(sys_fstatfs,sys_fstatfs,compat_sys_fstatfs_wrapper)    /* 100 */
 NI_SYSCALL                                                     /* ioperm for i386 */
 SYSCALL(sys_socketcall,sys_socketcall,compat_sys_socketcall_wrapper)
-SYSCALL(sys_syslog,sys_syslog,sys32_syslog_wrapper)
+SYSCALL(sys_syslog,sys_syslog,compat_sys_syslog)
 SYSCALL(sys_setitimer,sys_setitimer,compat_sys_setitimer)
 SYSCALL(sys_getitimer,sys_getitimer,compat_sys_getitimer)      /* 105 */
 SYSCALL(sys_newstat,sys_newstat,compat_sys_newstat_wrapper)
@@ -123,14 +123,14 @@ SYSCALL(sys_vhangup,sys_vhangup,sys_vhangup)
 NI_SYSCALL                                                     /* old "idle" system call */
 NI_SYSCALL                                                     /* vm86old for i386 */
 SYSCALL(sys_wait4,sys_wait4,compat_sys_wait4)
-SYSCALL(sys_swapoff,sys_swapoff,sys32_swapoff_wrapper)         /* 115 */
+SYSCALL(sys_swapoff,sys_swapoff,compat_sys_swapoff)            /* 115 */
 SYSCALL(sys_sysinfo,sys_sysinfo,compat_sys_sysinfo_wrapper)
 SYSCALL(sys_s390_ipc,sys_s390_ipc,compat_sys_s390_ipc)
-SYSCALL(sys_fsync,sys_fsync,sys32_fsync_wrapper)
+SYSCALL(sys_fsync,sys_fsync,compat_sys_fsync)
 SYSCALL(sys_sigreturn,sys_sigreturn,sys32_sigreturn)
 SYSCALL(sys_clone,sys_clone,sys_clone_wrapper)                 /* 120 */
-SYSCALL(sys_setdomainname,sys_setdomainname,sys32_setdomainname_wrapper)
-SYSCALL(sys_newuname,sys_newuname,sys32_newuname_wrapper)
+SYSCALL(sys_setdomainname,sys_setdomainname,compat_sys_setdomainname)
+SYSCALL(sys_newuname,sys_newuname,compat_sys_newuname)
 NI_SYSCALL                                                     /* modify_ldt for i386 */
 SYSCALL(sys_adjtimex,sys_adjtimex,compat_sys_adjtimex_wrapper)
 SYSCALL(sys_mprotect,sys_mprotect,sys32_mprotect_wrapper)      /* 125 */