aboutsummaryrefslogtreecommitdiff
path: root/include/asm-sh/ptrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sh/ptrace.h')
-rw-r--r--include/asm-sh/ptrace.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-sh/ptrace.h b/include/asm-sh/ptrace.h
index 0f75e16a741..85aa0f4de81 100644
--- a/include/asm-sh/ptrace.h
+++ b/include/asm-sh/ptrace.h
@@ -91,6 +91,16 @@ struct pt_dspregs {
#define instruction_pointer(regs) ((regs)->pc)
extern void show_regs(struct pt_regs *);
+#ifdef CONFIG_SH_DSP
+#define task_pt_regs(task) \
+ ((struct pt_regs *) ((unsigned long)(task)->thread_info + THREAD_SIZE \
+ - sizeof(struct pt_dspregs) - sizeof(unsigned long)) - 1)
+#else
+#define task_pt_regs(task) \
+ ((struct pt_regs *) ((unsigned long)(task)->thread_info + THREAD_SIZE \
+ - sizeof(unsigned long)) - 1)
+#endif
+
static inline unsigned long profile_pc(struct pt_regs *regs)
{
unsigned long pc = instruction_pointer(regs);