summaryrefslogtreecommitdiff
path: root/arch/sparc/include/asm/ptrace_64.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-12-18 12:00:01 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2008-12-18 12:00:01 -0800
commit3653b9a8db41299a8735008026dad82035f8ca9b (patch)
tree334e9c7fa8684c7b4dea1153b304358b8853ff21 /arch/sparc/include/asm/ptrace_64.h
parent52af894cc35be34c6430d5411cd9033bd4dbbc51 (diff)
parent878a5535957b563c447d32866a9e606c55fef091 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: We need to implement arch_ptrace_stop().
Diffstat (limited to 'arch/sparc/include/asm/ptrace_64.h')
-rw-r--r--arch/sparc/include/asm/ptrace_64.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/ptrace_64.h b/arch/sparc/include/asm/ptrace_64.h
index 84e969f06afe..cd6fbfc20435 100644
--- a/arch/sparc/include/asm/ptrace_64.h
+++ b/arch/sparc/include/asm/ptrace_64.h
@@ -114,6 +114,7 @@ struct sparc_trapf {
#ifdef __KERNEL__
#include <linux/threads.h>
+#include <asm/system.h>
static inline int pt_regs_trap_type(struct pt_regs *regs)
{
@@ -130,6 +131,14 @@ static inline bool pt_regs_clear_syscall(struct pt_regs *regs)
return (regs->tstate &= ~TSTATE_SYSCALL);
}
+#define arch_ptrace_stop_needed(exit_code, info) \
+({ flush_user_windows(); \
+ get_thread_wsaved() != 0; \
+})
+
+#define arch_ptrace_stop(exit_code, info) \
+ synchronize_user_stack()
+
struct global_reg_snapshot {
unsigned long tstate;
unsigned long tpc;