Commit 138bed15 authored by Paul Mundt's avatar Paul Mundt

sh: Fix TIF_USEDFPU clearing under FPU emulation.

The unlazy_fpu() path calls in to save_fpu() if the task has
TIF_USEDFPU set. save_fpu() being the crap API that it is has the side
effect of clearing the flag itself, which presently doesn't happen
if we're using FPU emulation. Fix this up for now, pending an overhaul
in 2.6.26.
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 9bbafce2
...@@ -20,9 +20,14 @@ struct task_struct; ...@@ -20,9 +20,14 @@ struct task_struct;
extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs); extern void save_fpu(struct task_struct *__tsk, struct pt_regs *regs);
#else #else
#define release_fpu(regs) do { } while (0) #define release_fpu(regs) do { } while (0)
#define grab_fpu(regs) do { } while (0) #define grab_fpu(regs) do { } while (0)
#define save_fpu(tsk, regs) do { } while (0)
static inline void save_fpu(struct task_struct *tsk, struct pt_regs *regs)
{
clear_tsk_thread_flag(tsk, TIF_USEDFPU);
}
#endif #endif
extern int do_fpu_inst(unsigned short, struct pt_regs *); extern int do_fpu_inst(unsigned short, struct pt_regs *);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment