aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/i387.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@evo.osdl.org>2005-07-22 16:06:16 -0400
committerLinus Torvalds <torvalds@evo.osdl.org>2005-07-22 16:06:16 -0400
commit8ed1383fb7b6685968588141d5934e0e6715e954 (patch)
tree7ee8476ec114dbab907e3acf4e8a9d0342bf6751 /arch/i386/kernel/i387.c
parentb339a18b81a1f6ca1455559594f5df872b9e59f4 (diff)
x86: make restore_fpu() use alternative assembler instructions
It's really just a single instruction, conditional on whether the CPU supports FXSR or not, so implement it as such instead of making it a function that queries FXSR dynamically. This means that the instruction just gets automatically rewritten to the correct one at boot-time.
Diffstat (limited to 'arch/i386/kernel/i387.c')
-rw-r--r--arch/i386/kernel/i387.c11
1 files changed, 0 insertions, 11 deletions
diff --git a/arch/i386/kernel/i387.c b/arch/i386/kernel/i387.c
index b817168d9c62..d75524758daf 100644
--- a/arch/i386/kernel/i387.c
+++ b/arch/i386/kernel/i387.c
@@ -82,17 +82,6 @@ void kernel_fpu_begin(void)
82} 82}
83EXPORT_SYMBOL_GPL(kernel_fpu_begin); 83EXPORT_SYMBOL_GPL(kernel_fpu_begin);
84 84
85void restore_fpu( struct task_struct *tsk )
86{
87 if ( cpu_has_fxsr ) {
88 asm volatile( "fxrstor %0"
89 : : "m" (tsk->thread.i387.fxsave) );
90 } else {
91 asm volatile( "frstor %0"
92 : : "m" (tsk->thread.i387.fsave) );
93 }
94}
95
96/* 85/*
97 * FPU tag word conversions. 86 * FPU tag word conversions.
98 */ 87 */