diff options
Diffstat (limited to 'arch/sh/kernel/ptrace_64.c')
-rw-r--r-- | arch/sh/kernel/ptrace_64.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/sh/kernel/ptrace_64.c b/arch/sh/kernel/ptrace_64.c index b063eb8b18e3..5fd644da7f02 100644 --- a/arch/sh/kernel/ptrace_64.c +++ b/arch/sh/kernel/ptrace_64.c | |||
@@ -88,7 +88,7 @@ get_fpu_long(struct task_struct *task, unsigned long addr) | |||
88 | regs->sr |= SR_FD; | 88 | regs->sr |= SR_FD; |
89 | } | 89 | } |
90 | 90 | ||
91 | tmp = ((long *)&task->thread.fpu)[addr / sizeof(unsigned long)]; | 91 | tmp = ((long *)task->thread.xstate)[addr / sizeof(unsigned long)]; |
92 | return tmp; | 92 | return tmp; |
93 | } | 93 | } |
94 | 94 | ||
@@ -114,8 +114,7 @@ put_fpu_long(struct task_struct *task, unsigned long addr, unsigned long data) | |||
114 | regs = (struct pt_regs*)((unsigned char *)task + THREAD_SIZE) - 1; | 114 | regs = (struct pt_regs*)((unsigned char *)task + THREAD_SIZE) - 1; |
115 | 115 | ||
116 | if (!tsk_used_math(task)) { | 116 | if (!tsk_used_math(task)) { |
117 | fpinit(&task->thread.fpu.hard); | 117 | init_fpu(task); |
118 | set_stopped_child_used_math(task); | ||
119 | } else if (last_task_used_math == task) { | 118 | } else if (last_task_used_math == task) { |
120 | enable_fpu(); | 119 | enable_fpu(); |
121 | save_fpu(task); | 120 | save_fpu(task); |
@@ -124,7 +123,7 @@ put_fpu_long(struct task_struct *task, unsigned long addr, unsigned long data) | |||
124 | regs->sr |= SR_FD; | 123 | regs->sr |= SR_FD; |
125 | } | 124 | } |
126 | 125 | ||
127 | ((long *)&task->thread.fpu)[addr / sizeof(unsigned long)] = data; | 126 | ((long *)task->thread.xstate)[addr / sizeof(unsigned long)] = data; |
128 | return 0; | 127 | return 0; |
129 | } | 128 | } |
130 | 129 | ||
@@ -226,7 +225,7 @@ int fpregs_get(struct task_struct *target, | |||
226 | return ret; | 225 | return ret; |
227 | 226 | ||
228 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, | 227 | return user_regset_copyout(&pos, &count, &kbuf, &ubuf, |
229 | &target->thread.fpu.hard, 0, -1); | 228 | &target->thread.xstate->hardfpu, 0, -1); |
230 | } | 229 | } |
231 | 230 | ||
232 | static int fpregs_set(struct task_struct *target, | 231 | static int fpregs_set(struct task_struct *target, |
@@ -243,7 +242,7 @@ static int fpregs_set(struct task_struct *target, | |||
243 | set_stopped_child_used_math(target); | 242 | set_stopped_child_used_math(target); |
244 | 243 | ||
245 | return user_regset_copyin(&pos, &count, &kbuf, &ubuf, | 244 | return user_regset_copyin(&pos, &count, &kbuf, &ubuf, |
246 | &target->thread.fpu.hard, 0, -1); | 245 | &target->thread.xstate->hardfpu, 0, -1); |
247 | } | 246 | } |
248 | 247 | ||
249 | static int fpregs_active(struct task_struct *target, | 248 | static int fpregs_active(struct task_struct *target, |
@@ -486,9 +485,10 @@ asmlinkage void do_single_step(unsigned long long vec, struct pt_regs *regs) | |||
486 | } | 485 | } |
487 | 486 | ||
488 | /* Called with interrupts disabled */ | 487 | /* Called with interrupts disabled */ |
489 | asmlinkage void do_software_break_point(unsigned long long vec, | 488 | BUILD_TRAP_HANDLER(breakpoint) |
490 | struct pt_regs *regs) | ||
491 | { | 489 | { |
490 | TRAP_HANDLER_DECL; | ||
491 | |||
492 | /* We need to forward step the PC, to counteract the backstep done | 492 | /* We need to forward step the PC, to counteract the backstep done |
493 | in signal.c. */ | 493 | in signal.c. */ |
494 | local_irq_enable(); | 494 | local_irq_enable(); |