diff options
author | Michael Trimarchi <trimarchi@gandalf.sssup.it> | 2009-04-03 19:32:33 +0200 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-04-04 17:48:11 +0200 |
commit | 01ab10393c510342ec4ce85df11ccfa3df06bbb2 (patch) | |
tree | ebf0493fa7b53941f830f8b300037f834eb85e59 /arch/sh/include/asm/ptrace.h | |
parent | sh: Fix up number of on-chip DMA channels on SH7091. (diff) | |
download | linux-01ab10393c510342ec4ce85df11ccfa3df06bbb2.tar.xz linux-01ab10393c510342ec4ce85df11ccfa3df06bbb2.zip |
sh: Fix up DSP context save/restore.
There were a number of issues with the DSP context save/restore code,
mostly left-over relics from when it was introduced on SH3-DSP with
little follow-up testing, resulting in things like task_pt_dspregs()
referencing incorrect state on the stack.
This follows the MIPS convention of tracking the DSP state in the
thread_struct and handling the state save/restore in switch_to() and
finish_arch_switch() respectively. The regset interface is also updated,
which allows us to finally be rid of task_pt_dspregs() and the special
cased task_pt_regs().
Signed-off-by: Michael Trimarchi <michael@evidence.eu.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/ptrace.h')
-rw-r--r-- | arch/sh/include/asm/ptrace.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/arch/sh/include/asm/ptrace.h b/arch/sh/include/asm/ptrace.h index 81c6568fdb3e..d3f6caa936b0 100644 --- a/arch/sh/include/asm/ptrace.h +++ b/arch/sh/include/asm/ptrace.h @@ -119,16 +119,8 @@ struct task_struct; extern void user_enable_single_step(struct task_struct *); extern void user_disable_single_step(struct task_struct *); -#ifdef CONFIG_SH_DSP -#define task_pt_regs(task) \ - ((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE \ - - sizeof(struct pt_dspregs)) - 1) -#define task_pt_dspregs(task) \ - ((struct pt_dspregs *) (task_stack_page(task) + THREAD_SIZE) - 1) -#else #define task_pt_regs(task) \ ((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE) - 1) -#endif static inline unsigned long profile_pc(struct pt_regs *regs) { |