summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorMikael Pettersson <mikpe@it.uu.se>2009-04-18 20:26:57 (GMT)
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-04-20 13:01:39 (GMT)
commiteb8f3142fa30201426feb7b3f9046fcd730e17d3 (patch)
tree7cf595a77fe8ad9ea9550d3415f2937e78ade61b /arch/arm
parentd91dfbb41bb2e9bdbfbd2cc7078ed7436eab027a (diff)
downloadlinux-eb8f3142fa30201426feb7b3f9046fcd730e17d3.tar.xz
[ARM] 5456/1: add sys_preadv and sys_pwritev
Kernel 2.6.30-rc1 added sys_preadv and sys_pwritev to most archs but not ARM, resulting in <stdin>:1421:2: warning: #warning syscall preadv not implemented <stdin>:1425:2: warning: #warning syscall pwritev not implemented This patch adds sys_preadv and sys_pwritev to ARM. These syscalls simply take five long-sized parameters, so they should have no calling-convention/ABI issues in the kernel. Tested on armv5tel eabi using a preadv/pwritev test program posted on linuxppc-dev earlier this month. It would be nice to get this into the kernel before 2.6.30 final, so that glibc's kernel version feature test for these syscalls doesn't have to special-case ARM. Signed-off-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/include/asm/unistd.h2
-rw-r--r--arch/arm/kernel/calls.S2
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 0106184..94cc58e 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -387,6 +387,8 @@
#define __NR_dup3 (__NR_SYSCALL_BASE+358)
#define __NR_pipe2 (__NR_SYSCALL_BASE+359)
#define __NR_inotify_init1 (__NR_SYSCALL_BASE+360)
+#define __NR_preadv (__NR_SYSCALL_BASE+361)
+#define __NR_pwritev (__NR_SYSCALL_BASE+362)
/*
* The following SWIs are ARM private.
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 9ca8d13..1680e9e 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -370,6 +370,8 @@
CALL(sys_dup3)
CALL(sys_pipe2)
/* 360 */ CALL(sys_inotify_init1)
+ CALL(sys_preadv)
+ CALL(sys_pwritev)
#ifndef syscalls_counted
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
#define syscalls_counted