[PATCH] s390: new system calls
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 28 Apr 2006 01:40:33 +0000 (18:40 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 28 Apr 2006 15:33:48 +0000 (08:33 -0700)
Add sys_set_robust_list, sys_get_robust_list, sys_splice, sys_sync_file and
sys_tee system calls.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/syscalls.S

index 199da68bd7be3ac9092270361ab223598ac10a60..ef5b9c44b86b50ac5c7f80fd3e0ddda66dcf3f1a 100644 (file)
@@ -1608,3 +1608,45 @@ compat_sys_ppoll_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
index 2f56654da82153143f9e22b42e92393ac9d77b01..fc2c0767202b22d6595f940dc7f278d36e704810 100644 (file)
@@ -312,3 +312,8 @@ SYSCALL(sys_faccessat,sys_faccessat,sys_faccessat_wrapper)  /* 300 */
 SYSCALL(sys_pselect6,sys_pselect6,compat_sys_pselect6_wrapper)
 SYSCALL(sys_ppoll,sys_ppoll,compat_sys_ppoll_wrapper)
 SYSCALL(sys_unshare,sys_unshare,sys_unshare_wrapper)
+SYSCALL(sys_set_robust_list,sys_set_robust_list,compat_sys_set_robust_list_wrapper)
+SYSCALL(sys_get_robust_list,sys_get_robust_list,compat_sys_get_robust_list_wrapper)
+SYSCALL(sys_splice,sys_splice,sys_splice_wrapper)
+SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper)
+SYSCALL(sys_tee,sys_tee,sys_tee_wrapper)