From: Roland McGrath <roland@redhat.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org
Cc: Paul Mackerras <paulus@samba.org>, linuxppc-dev@ozlabs.org
Subject: [PATCH 13/27] powerpc: arch_has_single_step
Date: Sun, 25 Nov 2007 14:03:34 -0800 (PST) [thread overview]
Message-ID: <20071125220334.ACACB26F8C5@magilla.localdomain> (raw)
In-Reply-To: Roland McGrath's message of Sunday, 25 November 2007 13:55:07 -0800 <20071125215507.4B89226F8C5@magilla.localdomain>
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__ */
next prev parent reply other threads:[~2007-11-25 22:04 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-25 21:55 [PATCH 01/27] ptrace: arch_has_single_step Roland McGrath
2007-11-25 21:58 ` [PATCH 02/27] x86: segment selector macros Roland McGrath
2007-11-25 21:58 ` [PATCH 03/27] x86: remove TRAP_FLAG Roland McGrath
2007-11-25 21:59 ` [PATCH 04/27] x86: arch_has_single_step Roland McGrath
2007-11-25 21:59 ` [PATCH 05/27] x86: single_step moved Roland McGrath
2007-11-25 21:59 ` [PATCH 06/27] x86: single_step segment macros Roland McGrath
2007-11-25 22:00 ` [PATCH 07/27] x86: single_step 0xf0 Roland McGrath
2007-11-25 22:00 ` [PATCH 08/27] x86: single_step: share code Roland McGrath
2007-11-25 22:00 ` [PATCH 09/27] x86 single_step: TIF_FORCED_TF Roland McGrath
2007-11-25 22:01 ` [PATCH 10/27] ptrace: generic resume Roland McGrath
2007-11-25 22:23 ` Christoph Hellwig
2007-11-25 22:37 ` Roland McGrath
2007-11-25 22:01 ` [PATCH 11/27] x86-64: ptrace " Roland McGrath
2007-11-25 22:01 ` [PATCH 12/27] x86-32: " Roland McGrath
2007-11-25 22:03 ` Roland McGrath [this message]
2007-11-25 22:04 ` [PATCH 14/27] powerpc: " Roland McGrath
2007-12-03 8:12 ` Srinivasa Ds
2007-11-25 22:04 ` [PATCH 15/27] x86-32 ptrace: use task_pt_regs Roland McGrath
2007-11-25 22:04 ` [PATCH 16/27] x86-64 " Roland McGrath
2007-11-25 22:04 ` [PATCH 17/27] x86-64 ptrace debugreg cleanup Roland McGrath
2007-11-25 22:05 ` [PATCH 18/27] x86-64 ia32 " Roland McGrath
2007-11-25 22:05 ` [PATCH 19/27] x86-32 " Roland McGrath
2007-11-25 22:05 ` [PATCH 20/27] ptrace: arch_has_block_step Roland McGrath
2007-11-28 23:39 ` David Wilder
2007-11-28 23:58 ` Roland McGrath
2007-11-25 22:06 ` [PATCH 21/27] ptrace: generic PTRACE_SINGLEBLOCK Roland McGrath
2007-11-25 22:06 ` [PATCH 22/27] x86: debugctlmsr constants Roland McGrath
2007-11-25 22:08 ` [PATCH 23/27] x86: debugctlmsr kconfig Roland McGrath
2007-11-26 1:09 ` Denys Vlasenko
2007-11-26 7:51 ` Roland McGrath
2007-11-26 22:52 ` Denys Vlasenko
2007-11-26 1:57 ` Dave Jones
2007-11-26 8:06 ` Roland McGrath
2007-11-25 22:08 ` [PATCH 24/27] x86: debugctlmsr context switch Roland McGrath
2007-11-25 22:08 ` [PATCH 25/27] x86: debugctlmsr arch_has_block_step Roland McGrath
2007-11-25 22:08 ` [PATCH 26/27] x86: debugctlmsr kprobes Roland McGrath
2007-11-25 22:08 ` [PATCH 27/27] x86: PTRACE_SINGLEBLOCK Roland McGrath
2007-11-25 22:22 ` [PATCH 01/27] ptrace: arch_has_single_step Christoph Hellwig
2007-11-25 22:59 ` Roland McGrath
2007-11-27 8:53 ` Andrew Morton
2007-11-27 10:38 ` Ingo Molnar
2007-11-27 23:05 ` Roland McGrath
2007-11-27 23:58 ` Ingo Molnar
2007-11-28 0:08 ` Roland McGrath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071125220334.ACACB26F8C5@magilla.localdomain \
--to=roland@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®