lkml.org 
[lkml]   [2007]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 13/27] powerpc: arch_has_single_step
    Date

    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>
    ---
    arch/powerpc/kernel/ptrace.c | 12 ++++++------
    include/asm-powerpc/ptrace.h | 7 +++++++
    2 files changed, 13 insertions(+), 6 deletions(-)

    diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
    index 3e17d15..b970d79 100644
    --- a/arch/powerpc/kernel/ptrace.c
    +++ b/arch/powerpc/kernel/ptrace.c
    @@ -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;

    @@ -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;

    @@ -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);
    }

    /*
    @@ -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;
    @@ -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;
    }
    @@ -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);
    diff --git a/include/asm-powerpc/ptrace.h b/include/asm-powerpc/ptrace.h
    index 13fccc5..3063363 100644
    --- a/include/asm-powerpc/ptrace.h
    +++ b/include/asm-powerpc/ptrace.h
    @@ -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__ */
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-11-25 23:07    [W:0.028 / U:30.852 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site