]> err.no Git - linux-2.6/blobdiff - arch/s390/kernel/compat_wrapper.S
[PATCH] s390: new system calls
[linux-2.6] / arch / s390 / kernel / compat_wrapper.S
index 6e27ac68ec3f01060093a7fb98b3ff0899f7f0ca..ef5b9c44b86b50ac5c7f80fd3e0ddda66dcf3f1a 100644 (file)
@@ -551,10 +551,10 @@ sys32_newuname_wrapper:
        llgtr   %r2,%r2                 # struct new_utsname *
        jg      s390x_newuname          # branch to system call
 
-       .globl  sys32_adjtimex_wrapper 
-sys32_adjtimex_wrapper:
-       llgtr   %r2,%r2                 # struct timex_emu31 *
-       jg      sys32_adjtimex          # branch to system call
+       .globl  compat_sys_adjtimex_wrapper
+compat_sys_adjtimex_wrapper:
+       llgtr   %r2,%r2                 # struct compat_timex *
+       jg      compat_sys_adjtimex     # branch to system call
 
        .globl  sys32_mprotect_wrapper 
 sys32_mprotect_wrapper:
@@ -1486,7 +1486,7 @@ sys_inotify_rm_watch_wrapper:
 
        .globl compat_sys_openat_wrapper
 compat_sys_openat_wrapper:
-       lgfr    %r2,%r2                 # int
+       llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        lgfr    %r5,%r5                 # int
@@ -1518,18 +1518,18 @@ sys_fchownat_wrapper:
 
        .globl compat_sys_futimesat_wrapper
 compat_sys_futimesat_wrapper:
-       lgfr    %r2,%r2                 # int
+       llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
        llgtr   %r4,%r4                 # struct timeval *
        jg      compat_sys_futimesat
 
-       .globl compat_sys_newfstatat_wrapper
-compat_sys_newfstatat_wrapper:
-       lgfr    %r2,%r2                 # int
+       .globl sys32_fstatat64_wrapper
+sys32_fstatat64_wrapper:
+       llgfr   %r2,%r2                 # unsigned int
        llgtr   %r3,%r3                 # char *
-       llgtr   %r4,%r4                 # struct stat *
+       llgtr   %r4,%r4                 # struct stat64 *
        lgfr    %r5,%r5                 # int
-       jg      compat_sys_newfstatat
+       jg      sys32_fstatat64
 
        .globl sys_unlinkat_wrapper
 sys_unlinkat_wrapper:
@@ -1552,6 +1552,7 @@ sys_linkat_wrapper:
        llgtr   %r3,%r3                 # const char *
        lgfr    %r4,%r4                 # int
        llgtr   %r5,%r5                 # const char *
+       lgfr    %r6,%r6                 # int
        jg      sys_linkat
 
        .globl sys_symlinkat_wrapper
@@ -1602,3 +1603,50 @@ compat_sys_ppoll_wrapper:
        llgtr   %r5,%r5                 # const sigset_t *
        llgfr   %r6,%r6                 # size_t
        jg      compat_sys_ppoll
+
+       .globl sys_unshare_wrapper
+sys_unshare_wrapper:
+       llgfr   %r2,%r2                 # unsigned long
+       jg      sys_unshare
+
+       .globl compat_sys_set_robust_list_wrapper
+compat_sys_set_robust_list_wrapper:
+       llgtr   %r2,%r2                 # struct compat_robust_list_head *
+       llgfr   %r3,%r3                 # size_t
+       jg      compat_sys_set_robust_list
+
+       .globl compat_sys_get_robust_list_wrapper
+compat_sys_get_robust_list_wrapper:
+       lgfr    %r2,%r2                 # int
+       llgtr   %r3,%r3                 # compat_uptr_t_t *
+       llgtr   %r4,%r4                 # compat_size_t *
+       jg      compat_sys_get_robust_list
+
+       .globl sys_splice_wrapper
+sys_splice_wrapper:
+       lgfr    %r2,%r2                 # int
+       llgtr   %r3,%r3                 # loff_t *
+       lgfr    %r4,%r4                 # int
+       llgtr   %r5,%r5                 # loff_t *
+       llgfr   %r6,%r6                 # size_t
+       llgf    %r0,164(%r15)           # unsigned int
+       stg     %r0,160(%r15)
+       jg      sys_splice
+
+       .globl  sys_sync_file_range_wrapper
+sys_sync_file_range_wrapper:
+       lgfr    %r2,%r2                 # int
+       sllg    %r3,%r3,32              # get high word of 64bit loff_t
+       or      %r3,%r4                 # get low word of 64bit loff_t
+       sllg    %r4,%r5,32              # get high word of 64bit loff_t
+       or      %r4,%r6                 # get low word of 64bit loff_t
+       llgf    %r5,164(%r15)           # unsigned int
+       jg      sys_sync_file_range
+
+       .globl  sys_tee_wrapper
+sys_tee_wrapper:
+       lgfr    %r2,%r2                 # int
+       lgfr    %r3,%r3                 # int
+       llgfr   %r4,%r4                 # size_t
+       llgfr   %r5,%r5                 # unsigned int
+       jg      sys_tee