diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2009-04-14 09:36:17 -0400 |
|---|---|---|
| committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2009-04-14 09:37:22 -0400 |
| commit | a93e11f9b9604134373ae790bce738d62109de60 (patch) | |
| tree | 5a093828dbfa45cab9788bfe4a69b244eca6d7f6 | |
| parent | 25097bf153391f7be4c591d47061b3dc4990dac2 (diff) | |
[S390] wire up preadv/pwritev system calls
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
| -rw-r--r-- | arch/s390/include/asm/unistd.h | 4 | ||||
| -rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 18 | ||||
| -rw-r--r-- | arch/s390/kernel/syscalls.S | 2 |
3 files changed, 23 insertions, 1 deletions
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index c8ad350d1444..f0f19e6ace6c 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
| @@ -265,7 +265,9 @@ | |||
| 265 | #define __NR_pipe2 325 | 265 | #define __NR_pipe2 325 |
| 266 | #define __NR_dup3 326 | 266 | #define __NR_dup3 326 |
| 267 | #define __NR_epoll_create1 327 | 267 | #define __NR_epoll_create1 327 |
| 268 | #define NR_syscalls 328 | 268 | #define __NR_preadv 328 |
| 269 | #define __NR_pwritev 329 | ||
| 270 | #define NR_syscalls 330 | ||
| 269 | 271 | ||
| 270 | /* | 272 | /* |
| 271 | * There are some system calls that are not present on 64 bit, some | 273 | * There are some system calls that are not present on 64 bit, some |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 87cf5a79a351..fb38af6316bb 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
| @@ -1805,3 +1805,21 @@ compat_sys_keyctl_wrapper: | |||
| 1805 | llgfr %r5,%r5 # u32 | 1805 | llgfr %r5,%r5 # u32 |
| 1806 | llgfr %r6,%r6 # u32 | 1806 | llgfr %r6,%r6 # u32 |
| 1807 | jg compat_sys_keyctl # branch to system call | 1807 | jg compat_sys_keyctl # branch to system call |
| 1808 | |||
| 1809 | .globl compat_sys_preadv_wrapper | ||
| 1810 | compat_sys_preadv_wrapper: | ||
| 1811 | llgfr %r2,%r2 # unsigned long | ||
| 1812 | llgtr %r3,%r3 # compat_iovec * | ||
| 1813 | llgfr %r4,%r4 # unsigned long | ||
| 1814 | llgfr %r5,%r5 # u32 | ||
| 1815 | llgfr %r6,%r6 # u32 | ||
| 1816 | jg compat_sys_preadv # branch to system call | ||
| 1817 | |||
| 1818 | .globl compat_sys_pwritev_wrapper | ||
| 1819 | compat_sys_pwritev_wrapper: | ||
| 1820 | llgfr %r2,%r2 # unsigned long | ||
| 1821 | llgtr %r3,%r3 # compat_iovec * | ||
| 1822 | llgfr %r4,%r4 # unsigned long | ||
| 1823 | llgfr %r5,%r5 # u32 | ||
| 1824 | llgfr %r6,%r6 # u32 | ||
| 1825 | jg compat_sys_pwritev # branch to system call | ||
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index fe5b25a988ab..2c7739fe70b1 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
| @@ -336,3 +336,5 @@ SYSCALL(sys_inotify_init1,sys_inotify_init1,sys_inotify_init1_wrapper) | |||
| 336 | SYSCALL(sys_pipe2,sys_pipe2,sys_pipe2_wrapper) /* 325 */ | 336 | SYSCALL(sys_pipe2,sys_pipe2,sys_pipe2_wrapper) /* 325 */ |
| 337 | SYSCALL(sys_dup3,sys_dup3,sys_dup3_wrapper) | 337 | SYSCALL(sys_dup3,sys_dup3,sys_dup3_wrapper) |
| 338 | SYSCALL(sys_epoll_create1,sys_epoll_create1,sys_epoll_create1_wrapper) | 338 | SYSCALL(sys_epoll_create1,sys_epoll_create1,sys_epoll_create1_wrapper) |
| 339 | SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper) | ||
| 340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) | ||
