aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/traps.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2009-04-08 13:31:58 +0200
committerIngo Molnar <mingo@elte.hu>2009-04-08 13:46:00 +0200
commitfcb2ac5bdfa3a7a04fb9749b916f64400f4c35a8 (patch)
treec251c870e6f01dafea5e370898e74968b3cda8c4 /arch/x86/kernel/traps.c
parentLinux 2.6.30-rc1 (diff)
downloadlinux-dev-fcb2ac5bdfa3a7a04fb9749b916f64400f4c35a8.tar.xz
linux-dev-fcb2ac5bdfa3a7a04fb9749b916f64400f4c35a8.zip
x86_32: introduce restore_fpu_checking()
Impact: cleanup, prepare FPU code unificaton Like on x86_64, return an error from restore_fpu and kill the task if it fails. Also rename restore_fpu to restore_fpu_checking which allows ifdefs to be removed in math_state_restore(). Signed-off-by: Jiri Slaby <jirislaby@gmail.com> LKML-Reference: <1239190320-23952-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/traps.c')
-rw-r--r--arch/x86/kernel/traps.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index a1d288327ff0..d696145855b5 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -839,9 +839,6 @@ asmlinkage void math_state_restore(void)
}
clts(); /* Allow maths ops (or we recurse) */
-#ifdef CONFIG_X86_32
- restore_fpu(tsk);
-#else
/*
* Paranoid restore. send a SIGSEGV if we fail to restore the state.
*/
@@ -850,7 +847,7 @@ asmlinkage void math_state_restore(void)
force_sig(SIGSEGV, tsk);
return;
}
-#endif
+
thread->status |= TS_USEDFPU; /* So we fnsave on switch_to() */
tsk->fpu_counter++;
}