aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/ptrace.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-01-30 07:30:51 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:51 -0500
commitd6f4fb7558ee8138fe86e2778bc16e3794d0baa2 (patch)
tree6726d9e2290cbd698eb3c7ba6fe53041b6de74ed /arch/powerpc/kernel/ptrace.c
parent2a84b0d71973692b291f03a870c4d0d13f722d79 (diff)
powerpc: ptrace generic resume
This removes the handling for PTRACE_CONT et al from the powerpc ptrace code, so it uses the new generic code via ptrace_request. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/powerpc/kernel/ptrace.c')
-rw-r--r--arch/powerpc/kernel/ptrace.c46
1 files changed, 0 insertions, 46 deletions
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
index b970d7971779..8b056d2295cc 100644
--- a/arch/powerpc/kernel/ptrace.c
+++ b/arch/powerpc/kernel/ptrace.c
@@ -445,52 +445,6 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
445 break; 445 break;
446 } 446 }
447 447
448 case PTRACE_SYSCALL: /* continue and stop at next (return from) syscall */
449 case PTRACE_CONT: { /* restart after signal. */
450 ret = -EIO;
451 if (!valid_signal(data))
452 break;
453 if (request == PTRACE_SYSCALL)
454 set_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
455 else
456 clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
457 child->exit_code = data;
458 /* make sure the single step bit is not set. */
459 user_disable_single_step(child);
460 wake_up_process(child);
461 ret = 0;
462 break;
463 }
464
465/*
466 * make the child exit. Best I can do is send it a sigkill.
467 * perhaps it should be put in the status that it wants to
468 * exit.
469 */
470 case PTRACE_KILL: {
471 ret = 0;
472 if (child->exit_state == EXIT_ZOMBIE) /* already dead */
473 break;
474 child->exit_code = SIGKILL;
475 /* make sure the single step bit is not set. */
476 user_disable_single_step(child);
477 wake_up_process(child);
478 break;
479 }
480
481 case PTRACE_SINGLESTEP: { /* set the trap flag. */
482 ret = -EIO;
483 if (!valid_signal(data))
484 break;
485 clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
486 user_enable_single_step(child);
487 child->exit_code = data;
488 /* give it a chance to run. */
489 wake_up_process(child);
490 ret = 0;
491 break;
492 }
493
494 case PTRACE_GET_DEBUGREG: { 448 case PTRACE_GET_DEBUGREG: {
495 ret = -EINVAL; 449 ret = -EINVAL;
496 /* We only support one DABR and no IABRS at the moment */ 450 /* We only support one DABR and no IABRS at the moment */