return 0;
 }
 
-asmlinkage int sys_fork(unsigned long r0, unsigned long r1, unsigned long r2,
-       unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6,
-       struct pt_regs regs)
+asmlinkage int sys_fork(void)
 {
 #ifdef CONFIG_MMU
-       return do_fork(SIGCHLD, regs.spu, ®s, 0, NULL, NULL);
+       struct pt_regs *regs = current_pt_regs();
+       return do_fork(SIGCHLD, regs->spu, regs, 0, NULL, NULL);
 #else
        return -EINVAL;
 #endif /* CONFIG_MMU */
 
 asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp,
                         unsigned long parent_tidptr,
-                        unsigned long child_tidptr,
-                        unsigned long r4, unsigned long r5, unsigned long r6,
-                        struct pt_regs regs)
+                        unsigned long child_tidptr)
 {
+       struct pt_regs *regs = current_pt_regs();
        if (!newsp)
-               newsp = regs.spu;
+               newsp = regs->spu;
 
-       return do_fork(clone_flags, newsp, ®s, 0,
+       return do_fork(clone_flags, newsp, regs, 0,
                       (int __user *)parent_tidptr, (int __user *)child_tidptr);
 }
 
  * do not have enough call-clobbered registers to hold all
  * the information you need.
  */
-asmlinkage int sys_vfork(unsigned long r0, unsigned long r1, unsigned long r2,
-       unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6,
-       struct pt_regs regs)
+asmlinkage int sys_vfork(void)
 {
-       return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs.spu, ®s, 0,
+       struct pt_regs *regs = current_pt_regs();
+       return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->spu, regs, 0,
                        NULL, NULL);
 }
 
-/*
- * sys_execve() executes a new program.
- */
-asmlinkage int sys_execve(const char __user *ufilename,
-                         const char __user *const __user *uargv,
-                         const char __user *const __user *uenvp,
-                         unsigned long r3, unsigned long r4, unsigned long r5,
-                         unsigned long r6, struct pt_regs regs)
-{
-       int error;
-       struct filename *filename;
-
-       filename = getname(ufilename);
-       error = PTR_ERR(filename);
-       if (IS_ERR(filename))
-               goto out;
-
-       error = do_execve(filename->name, uargv, uenvp, ®s);
-       putname(filename);
-out:
-       return error;
-}
-
 /*
  * These bracket the sleeping functions..
  */