Merge branch 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / m32r / kernel / ptrace.c
index 62a5142..98b8feb 100644 (file)
@@ -19,7 +19,6 @@
 #include <linux/mm.h>
 #include <linux/err.h>
 #include <linux/smp.h>
-#include <linux/smp_lock.h>
 #include <linux/errno.h>
 #include <linux/ptrace.h>
 #include <linux/user.h>
@@ -476,7 +475,7 @@ unregister_debug_trap(struct task_struct *child, unsigned long addr,
                return 0;
        }
 
-       /* Recover orignal instruction code. */
+       /* Recover original instruction code. */
        *code = p->insn[i];
 
        /* Shift debug trap entries. */
@@ -570,7 +569,7 @@ withdraw_debug_trap(struct pt_regs *regs)
        }
 }
 
-static void
+void
 init_debug_traps(struct task_struct *child)
 {
        struct debug_trap *p = &child->thread.debug_trap;
@@ -593,8 +592,8 @@ void ptrace_disable(struct task_struct *child)
        /* nothing to do.. */
 }
 
-static int
-do_ptrace(long request, struct task_struct *child, long addr, long data)
+long
+arch_ptrace(struct task_struct *child, long request, long addr, long data)
 {
        int ret;
 
@@ -676,10 +675,6 @@ do_ptrace(long request, struct task_struct *child, long addr, long data)
                if (!valid_signal(data))
                        break;
                clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
-               if ((child->ptrace & PT_DTRACE) == 0) {
-                       /* Spurious delayed TF traps may occur */
-                       child->ptrace |= PT_DTRACE;
-               }
 
                /* Compute next pc.  */
                pc = get_stack_long(child, PT_BPC);
@@ -704,14 +699,6 @@ do_ptrace(long request, struct task_struct *child, long addr, long data)
                break;
        }
 
-       /*
-        * detach a process that was attached.
-        */
-       case PTRACE_DETACH:
-               ret = 0;
-               ret = ptrace_detach(child, data);
-               break;
-
        case PTRACE_GETREGS:
                ret = ptrace_getregs(child, (void __user *)data);
                break;
@@ -728,42 +715,6 @@ do_ptrace(long request, struct task_struct *child, long addr, long data)
        return ret;
 }
 
-asmlinkage long sys_ptrace(long request, long pid, long addr, long data)
-{
-       struct task_struct *child;
-       int ret;
-
-       lock_kernel();
-       if (request == PTRACE_TRACEME) {
-               ret = ptrace_traceme();
-               goto out;
-       }
-
-       child = ptrace_get_task_struct(pid);
-       if (IS_ERR(child)) {
-               ret = PTR_ERR(child);
-               goto out;
-       }
-
-       if (request == PTRACE_ATTACH) {
-               ret = ptrace_attach(child);
-               if (ret == 0)
-                       init_debug_traps(child);
-               goto out_tsk;
-       }
-
-       ret = ptrace_check_attach(child, request == PTRACE_KILL);
-       if (ret == 0)
-               ret = do_ptrace(request, child, addr, data);
-
-out_tsk:
-       put_task_struct(child);
-out:
-       unlock_kernel();
-
-       return ret;
-}
-
 /* notification of system call entry/exit
  * - triggered by current->work.syscall_trace
  */