Skip to content

Commit

Permalink
powerpc: arch_has_single_step
Browse files Browse the repository at this point in the history
This defines the new standard arch_has_single_step macro.  It makes the
existing set_single_step and clear_single_step entry points global, and
renames them to the new standard names user_enable_single_step and
user_disable_single_step, respectively.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Roland McGrath authored and Ingo Molnar committed Jan 30, 2008
1 parent 227195d commit 2a84b0d
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
12 changes: 6 additions & 6 deletions arch/powerpc/kernel/ptrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ static int set_evrregs(struct task_struct *task, unsigned long *data)
#endif /* CONFIG_SPE */


static void set_single_step(struct task_struct *task)
void user_enable_single_step(struct task_struct *task)
{
struct pt_regs *regs = task->thread.regs;

Expand All @@ -271,7 +271,7 @@ static void set_single_step(struct task_struct *task)
set_tsk_thread_flag(task, TIF_SINGLESTEP);
}

static void clear_single_step(struct task_struct *task)
void user_disable_single_step(struct task_struct *task)
{
struct pt_regs *regs = task->thread.regs;

Expand Down Expand Up @@ -313,7 +313,7 @@ static int ptrace_set_debugreg(struct task_struct *task, unsigned long addr,
void ptrace_disable(struct task_struct *child)
{
/* make sure the single step bit is not set. */
clear_single_step(child);
user_disable_single_step(child);
}

/*
Expand Down Expand Up @@ -456,7 +456,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
child->exit_code = data;
/* make sure the single step bit is not set. */
clear_single_step(child);
user_disable_single_step(child);
wake_up_process(child);
ret = 0;
break;
Expand All @@ -473,7 +473,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
break;
child->exit_code = SIGKILL;
/* make sure the single step bit is not set. */
clear_single_step(child);
user_disable_single_step(child);
wake_up_process(child);
break;
}
Expand All @@ -483,7 +483,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
if (!valid_signal(data))
break;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
set_single_step(child);
user_enable_single_step(child);
child->exit_code = data;
/* give it a chance to run. */
wake_up_process(child);
Expand Down
7 changes: 7 additions & 0 deletions include/asm-powerpc/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,13 @@ do { \
} while (0)
#endif /* __powerpc64__ */

/*
* These are defined as per linux/ptrace.h, which see.
*/
#define arch_has_single_step() (1)
extern void user_enable_single_step(struct task_struct *);
extern void user_disable_single_step(struct task_struct *);

#endif /* __ASSEMBLY__ */

#endif /* __KERNEL__ */
Expand Down

0 comments on commit 2a84b0d

Please sign in to comment.