diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-11-24 22:07:31 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-11-24 22:07:31 -0500 |
commit | 6ba653830c85a37d0a054f1e43d9b51e59d1150b (patch) | |
tree | 2bbafd395a15b3f649fc346cc2a9c67485e0d3f5 | |
parent | b9e39c89a9639e5005d8225a23fb7faf118a85eb (diff) |
sh: Fix up the FPU emulation build.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/include/asm/fpu.h | 1 | ||||
-rw-r--r-- | arch/sh/kernel/process_32.c | 10 |
2 files changed, 4 insertions, 7 deletions
diff --git a/arch/sh/include/asm/fpu.h b/arch/sh/include/asm/fpu.h index d7709c06fac4..fb6bbb9b1cc8 100644 --- a/arch/sh/include/asm/fpu.h +++ b/arch/sh/include/asm/fpu.h | |||
@@ -25,6 +25,7 @@ void fpu_state_restore(struct pt_regs *regs); | |||
25 | #define save_fpu(tsk) do { } while (0) | 25 | #define save_fpu(tsk) do { } while (0) |
26 | #define release_fpu(regs) do { } while (0) | 26 | #define release_fpu(regs) do { } while (0) |
27 | #define grab_fpu(regs) do { } while (0) | 27 | #define grab_fpu(regs) do { } while (0) |
28 | #define fpu_state_restore(regs) do { } while (0) | ||
28 | 29 | ||
29 | #endif | 30 | #endif |
30 | 31 | ||
diff --git a/arch/sh/kernel/process_32.c b/arch/sh/kernel/process_32.c index d721f9297c09..d8af889366a4 100644 --- a/arch/sh/kernel/process_32.c +++ b/arch/sh/kernel/process_32.c | |||
@@ -300,13 +300,11 @@ __switch_to(struct task_struct *prev, struct task_struct *next) | |||
300 | { | 300 | { |
301 | struct thread_struct *next_t = &next->thread; | 301 | struct thread_struct *next_t = &next->thread; |
302 | 302 | ||
303 | #if defined(CONFIG_SH_FPU) | ||
304 | unlazy_fpu(prev, task_pt_regs(prev)); | 303 | unlazy_fpu(prev, task_pt_regs(prev)); |
305 | 304 | ||
306 | /* we're going to use this soon, after a few expensive things */ | 305 | /* we're going to use this soon, after a few expensive things */ |
307 | if (next->fpu_counter > 5) | 306 | if (next->fpu_counter > 5) |
308 | prefetch(&next_t->fpu.hard); | 307 | prefetch(&next_t->fpu.hard); |
309 | #endif | ||
310 | 308 | ||
311 | #ifdef CONFIG_MMU | 309 | #ifdef CONFIG_MMU |
312 | /* | 310 | /* |
@@ -337,15 +335,13 @@ __switch_to(struct task_struct *prev, struct task_struct *next) | |||
337 | #endif | 335 | #endif |
338 | } | 336 | } |
339 | 337 | ||
340 | #if defined(CONFIG_SH_FPU) | 338 | /* |
341 | /* If the task has used fpu the last 5 timeslices, just do a full | 339 | * If the task has used fpu the last 5 timeslices, just do a full |
342 | * restore of the math state immediately to avoid the trap; the | 340 | * restore of the math state immediately to avoid the trap; the |
343 | * chances of needing FPU soon are obviously high now | 341 | * chances of needing FPU soon are obviously high now |
344 | */ | 342 | */ |
345 | if (next->fpu_counter > 5) { | 343 | if (next->fpu_counter > 5) |
346 | fpu_state_restore(task_pt_regs(next)); | 344 | fpu_state_restore(task_pt_regs(next)); |
347 | } | ||
348 | #endif | ||
349 | 345 | ||
350 | return prev; | 346 | return prev; |
351 | } | 347 | } |