[patch] s390: add vmsplice system call.

From: Martin Schwidefsky
Date: Thu May 04 2006 - 07:18:04 EST


From: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>

[patch] s390: add vmsplice system call.

Add new vmsplice system call and add missing __NR_xxx defines for
sys_set_robust_list, sys_get_robust_list, sys_splice, sys_sync_file_range
and sys_tee.

Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
---

arch/s390/kernel/compat_wrapper.S | 8 ++++++++
arch/s390/kernel/syscalls.S | 1 +
include/asm-s390/unistd.h | 8 +++++++-
3 files changed, 16 insertions(+), 1 deletion(-)

diff -urpN linux-2.6/arch/s390/kernel/compat_wrapper.S linux-2.6-patched/arch/s390/kernel/compat_wrapper.S
--- linux-2.6/arch/s390/kernel/compat_wrapper.S 2006-05-04 13:09:34.000000000 +0200
+++ linux-2.6-patched/arch/s390/kernel/compat_wrapper.S 2006-05-04 13:09:50.000000000 +0200
@@ -1650,3 +1650,11 @@ sys_tee_wrapper:
llgfr %r4,%r4 # size_t
llgfr %r5,%r5 # unsigned int
jg sys_tee
+
+ .globl compat_sys_vmsplice_wrapper
+compat_sys_vmsplice_wrapper:
+ lgfr %r2,%r2 # int
+ llgtr %r3,%r3 # compat_iovec *
+ llgfr %r4,%r4 # unsigned int
+ llgfr %r5,%r5 # unsigned int
+ jg compat_sys_vmsplice
diff -urpN linux-2.6/arch/s390/kernel/syscalls.S linux-2.6-patched/arch/s390/kernel/syscalls.S
--- linux-2.6/arch/s390/kernel/syscalls.S 2006-05-04 13:09:34.000000000 +0200
+++ linux-2.6-patched/arch/s390/kernel/syscalls.S 2006-05-04 13:09:50.000000000 +0200
@@ -317,3 +317,4 @@ SYSCALL(sys_get_robust_list,sys_get_robu
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)
+SYSCALL(sys_vmsplice,sys_vmsplice,compat_sys_vmsplice_wrapper)
diff -urpN linux-2.6/include/asm-s390/unistd.h linux-2.6-patched/include/asm-s390/unistd.h
--- linux-2.6/include/asm-s390/unistd.h 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6-patched/include/asm-s390/unistd.h 2006-05-04 13:09:50.000000000 +0200
@@ -296,8 +296,14 @@
#define __NR_pselect6 301
#define __NR_ppoll 302
#define __NR_unshare 303
+#define __NR_set_robust_list 304
+#define __NR_get_robust_list 305
+#define __NR_splice 306
+#define __NR_sync_file_range 307
+#define __NR_tee 308
+#define __NR_vmsplice 309

-#define NR_syscalls 304
+#define NR_syscalls 310

/*
* There are some system calls that are not present on 64 bit, some
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/