aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/syscall.c')
-rw-r--r--arch/mips/kernel/syscall.c34
1 files changed, 0 insertions, 34 deletions
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c
index 28daa66baa7b..b32466a1a1d2 100644
--- a/arch/mips/kernel/syscall.c
+++ b/arch/mips/kernel/syscall.c
@@ -83,41 +83,7 @@ SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len,
83} 83}
84 84
85save_static_function(sys_fork); 85save_static_function(sys_fork);
86static int __used noinline
87_sys_fork(nabi_no_regargs struct pt_regs regs)
88{
89 return do_fork(SIGCHLD, 0, 0, NULL, NULL);
90}
91
92save_static_function(sys_clone); 86save_static_function(sys_clone);
93static int __used noinline
94_sys_clone(nabi_no_regargs struct pt_regs regs)
95{
96 unsigned long clone_flags;
97 unsigned long newsp;
98 int __user *parent_tidptr, *child_tidptr;
99
100 clone_flags = regs.regs[4];
101 newsp = regs.regs[5];
102 parent_tidptr = (int __user *) regs.regs[6];
103#ifdef CONFIG_32BIT
104 /* We need to fetch the fifth argument off the stack. */
105 child_tidptr = NULL;
106 if (clone_flags & (CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID)) {
107 int __user *__user *usp = (int __user *__user *) regs.regs[29];
108 if (regs.regs[2] == __NR_syscall) {
109 if (get_user (child_tidptr, &usp[5]))
110 return -EFAULT;
111 }
112 else if (get_user (child_tidptr, &usp[4]))
113 return -EFAULT;
114 }
115#else
116 child_tidptr = (int __user *) regs.regs[8];
117#endif
118 return do_fork(clone_flags, newsp, 0,
119 parent_tidptr, child_tidptr);
120}
121 87
122SYSCALL_DEFINE1(set_thread_area, unsigned long, addr) 88SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
123{ 89{