diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-09-12 09:56:35 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-09-12 09:56:35 -0400 |
commit | 72461997c3c66c29775afa68ca31bea16bf17f39 (patch) | |
tree | ef400b44fe51a5a8fa10a8cbf3ee7f95a0176377 /arch | |
parent | f9540ececaa2cf94b6760741c82f25097e662383 (diff) |
sh: Check SR.DSP bit for DSP regset validity.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/kernel/ptrace_32.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/sh/kernel/ptrace_32.c b/arch/sh/kernel/ptrace_32.c index 92fe2034f74a..0f44f2b51a60 100644 --- a/arch/sh/kernel/ptrace_32.c +++ b/arch/sh/kernel/ptrace_32.c | |||
@@ -179,6 +179,14 @@ static int dspregs_set(struct task_struct *target, | |||
179 | 179 | ||
180 | return ret; | 180 | return ret; |
181 | } | 181 | } |
182 | |||
183 | static int dspregs_active(struct task_struct *target, | ||
184 | const struct user_regset *regset) | ||
185 | { | ||
186 | struct pt_regs *regs = task_pt_regs(target); | ||
187 | |||
188 | return regs->sr & SR_DSP ? regset->n : 0; | ||
189 | } | ||
182 | #endif | 190 | #endif |
183 | 191 | ||
184 | /* | 192 | /* |
@@ -213,6 +221,7 @@ static const struct user_regset sh_regsets[] = { | |||
213 | .align = sizeof(long), | 221 | .align = sizeof(long), |
214 | .get = dspregs_get, | 222 | .get = dspregs_get, |
215 | .set = dspregs_set, | 223 | .set = dspregs_set, |
224 | .active = dspregs_active, | ||
216 | }, | 225 | }, |
217 | #endif | 226 | #endif |
218 | }; | 227 | }; |