summaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel/entry.S
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-01-18 10:42:18 +0100
committerVineet Gupta <vgupta@synopsys.com>2013-02-11 15:30:38 +0100
commit4adeefe161a74369e44cc8e663f240ece0470dc3 (patch)
treee5b243c62c0f0d5f8c21b9d856ef350282bfec25 /arch/arc/kernel/entry.S
parentARC: Non-MMU Exception Handling (diff)
downloadlinux-4adeefe161a74369e44cc8e663f240ece0470dc3.tar.xz
linux-4adeefe161a74369e44cc8e663f240ece0470dc3.zip
ARC: Syscall support (no-legacy-syscall ABI)
This includes support for generic clone/for/vfork/execve Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Al Viro <viro@ZenIV.linux.org.uk> Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arc/kernel/entry.S')
-rw-r--r--arch/arc/kernel/entry.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index a4acc9ee1311..0b0a190547a9 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -569,3 +569,30 @@ ARC_ENTRY ret_from_fork
bl @schedule_tail
b @ret_from_exception
ARC_EXIT ret_from_fork
+
+;################### Special Sys Call Wrappers ##########################
+
+; TBD: call do_fork directly from here
+ARC_ENTRY sys_fork_wrapper
+ SAVE_CALLEE_SAVED_USER
+ bl @sys_fork
+ DISCARD_CALLEE_SAVED_USER
+
+ b ret_from_system_call
+ARC_EXIT sys_fork_wrapper
+
+ARC_ENTRY sys_vfork_wrapper
+ SAVE_CALLEE_SAVED_USER
+ bl @sys_vfork
+ DISCARD_CALLEE_SAVED_USER
+
+ b ret_from_system_call
+ARC_EXIT sys_vfork_wrapper
+
+ARC_ENTRY sys_clone_wrapper
+ SAVE_CALLEE_SAVED_USER
+ bl @sys_clone
+ DISCARD_CALLEE_SAVED_USER
+
+ b ret_from_system_call
+ARC_EXIT sys_clone_wrapper