diff options
author | George G. Davis <davis_g@mvista.com> | 2005-09-13 17:55:00 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-09-13 17:55:00 -0400 |
commit | 34f521fd5552fff2a5f892f4c3dbc75e309ad63b (patch) | |
tree | 2ad7a7637266b27a3c85d54eb0ad73c451913047 /arch/arm | |
parent | 2f4ba45a75d6383b4a1201169a808ffea416ffa0 (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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/kernel/calls.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/entry-common.S | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index 949ec4427f21..2ad4aa2a1536 100644 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S | |||
@@ -131,7 +131,7 @@ __syscall_start: | |||
131 | .long sys_wait4 | 131 | .long sys_wait4 |
132 | /* 115 */ .long sys_swapoff | 132 | /* 115 */ .long sys_swapoff |
133 | .long sys_sysinfo | 133 | .long sys_sysinfo |
134 | .long sys_ipc | 134 | .long sys_ipc_wrapper |
135 | .long sys_fsync | 135 | .long sys_fsync |
136 | .long sys_sigreturn_wrapper | 136 | .long sys_sigreturn_wrapper |
137 | /* 120 */ .long sys_clone_wrapper | 137 | /* 120 */ .long sys_clone_wrapper |
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index db302c6e5343..81d450ac3fab 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -273,6 +273,10 @@ sys_mbind_wrapper: | |||
273 | str r5, [sp, #4] | 273 | str r5, [sp, #4] |
274 | b sys_mbind | 274 | b sys_mbind |
275 | 275 | ||
276 | sys_ipc_wrapper: | ||
277 | str r5, [sp, #4] @ push sixth arg | ||
278 | b sys_ipc | ||
279 | |||
276 | /* | 280 | /* |
277 | * Note: off_4k (r5) is always units of 4K. If we can't do the requested | 281 | * Note: off_4k (r5) is always units of 4K. If we can't do the requested |
278 | * offset, we return EINVAL. | 282 | * offset, we return EINVAL. |