OSDN Git Service

[ARM] 2896/1: Add sys_ipc_wrapper to pass 'fifth' argument on stack
authorGeorge G. Davis <davis_g@mvista.com>
Tue, 13 Sep 2005 21:55:00 +0000 (22:55 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 13 Sep 2005 21:55:00 +0000 (22:55 +0100)
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>
arch/arm/kernel/calls.S
arch/arm/kernel/entry-common.S

index 949ec44..2ad4aa2 100644 (file)
@@ -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
index db302c6..81d450a 100644 (file)
@@ -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.