aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge G. Davis <davis_g@mvista.com>2005-09-13 22:55:00 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-09-13 22:55:00 +0100
commit34f521fd5552fff2a5f892f4c3dbc75e309ad63b (patch)
tree2ad7a7637266b27a3c85d54eb0ad73c451913047
parent2f4ba45a75d6383b4a1201169a808ffea416ffa0 (diff)
[ARM] 2896/1: Add sys_ipc_wrapper to pass 'fifth' argument on stack
Patch from George G. Davis As pointed out be Matthew Klahn <MKLAHN@motorola.com>, some sys_ipc() call options require six args, e.g. SEMTIMEDOP. This patch adds an ARM sys_ipc_wrapper to save the sys_ipc() 'fifth' arg on the stack. Signed-off-by: George G. Davis <gdavis@mvista.com> arch/arm/kernel/calls.S | 2 +- arch/arm/kernel/entry-common.S | 5 +++++ Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/kernel/calls.S2
-rw-r--r--arch/arm/kernel/entry-common.S4
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 949ec4427f2..2ad4aa2a153 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -131,7 +131,7 @@ __syscall_start:
.long sys_wait4
/* 115 */ .long sys_swapoff
.long sys_sysinfo
- .long sys_ipc
+ .long sys_ipc_wrapper
.long sys_fsync
.long sys_sigreturn_wrapper
/* 120 */ .long sys_clone_wrapper
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index db302c6e534..81d450ac3fa 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -273,6 +273,10 @@ sys_mbind_wrapper:
str r5, [sp, #4]
b sys_mbind
+sys_ipc_wrapper:
+ str r5, [sp, #4] @ push sixth arg
+ b sys_ipc
+
/*
* Note: off_4k (r5) is always units of 4K. If we can't do the requested
* offset, we return EINVAL.