summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:50:32 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:50:32 -0800
commit448ba078f486e18d82975e86e50bb1fee82fb5f2 (patch)
tree976a195765dda32781bb2387fd216bad9d4eb24b /include
parent3192b2dcbe00fdfd6a50be32c8c626cf26b66076 (diff)
v2.4.0.2 -> v2.4.0.3
- me: clean up XMM support
Diffstat (limited to 'include')
-rw-r--r--include/asm-i386/bugs.h25
-rw-r--r--include/asm-i386/i387.h4
-rw-r--r--include/asm-i386/processor.h2
3 files changed, 14 insertions, 17 deletions
diff --git a/include/asm-i386/bugs.h b/include/asm-i386/bugs.h
index 0a12e306a91c..257f1f879fcc 100644
--- a/include/asm-i386/bugs.h
+++ b/include/asm-i386/bugs.h
@@ -66,8 +66,6 @@ static double __initdata y = 3145727.0;
*/
static void __init check_fpu(void)
{
- extern int disable_x86_fxsr;
-
if (!boot_cpu_data.hard_math) {
#ifndef CONFIG_MATH_EMULATION
printk(KERN_EMERG "No coprocessor found and no math emulation present.\n");
@@ -85,19 +83,16 @@ static void __init check_fpu(void)
extern void __buggy_fxsr_alignment(void);
__buggy_fxsr_alignment();
}
- if (!disable_x86_fxsr) {
- if (cpu_has_fxsr) {
- printk(KERN_INFO "Enabling fast FPU save and restore... ");
- set_in_cr4(X86_CR4_OSFXSR);
- printk("done.\n");
- }
- if (cpu_has_xmm) {
- printk(KERN_INFO "Enabling unmasked SIMD FPU exception support... ");
- set_in_cr4(X86_CR4_OSXMMEXCPT);
- printk("done.\n");
- }
- } else
- printk(KERN_INFO "Disabling fast FPU save and restore.\n");
+ if (cpu_has_fxsr) {
+ printk(KERN_INFO "Enabling fast FPU save and restore... ");
+ set_in_cr4(X86_CR4_OSFXSR);
+ printk("done.\n");
+ }
+ if (cpu_has_xmm) {
+ printk(KERN_INFO "Enabling unmasked SIMD FPU exception support... ");
+ set_in_cr4(X86_CR4_OSXMMEXCPT);
+ printk("done.\n");
+ }
/* Test for the divl bug.. */
__asm__("fninit\n\t"
diff --git a/include/asm-i386/i387.h b/include/asm-i386/i387.h
index 95bf1608c89a..1cf8dc2ab335 100644
--- a/include/asm-i386/i387.h
+++ b/include/asm-i386/i387.h
@@ -23,6 +23,10 @@ extern void init_fpu(void);
extern void save_init_fpu( struct task_struct *tsk );
extern void restore_fpu( struct task_struct *tsk );
+extern void kernel_fpu_begin(void);
+#define kernel_fpu_end() stts()
+
+
#define unlazy_fpu( tsk ) do { \
if ( tsk->flags & PF_USEDFPU ) \
save_init_fpu( tsk ); \
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
index 4db1c7f63bd9..21296d96140a 100644
--- a/include/asm-i386/processor.h
+++ b/include/asm-i386/processor.h
@@ -88,8 +88,6 @@ extern struct cpuinfo_x86 cpu_data[];
#define cpu_has_fxsr (test_bit(X86_FEATURE_FXSR, boot_cpu_data.x86_capability))
#define cpu_has_xmm (test_bit(X86_FEATURE_XMM, boot_cpu_data.x86_capability))
#define cpu_has_fpu (test_bit(X86_FEATURE_FPU, boot_cpu_data.x86_capability))
-#define HAVE_FXSR (mmu_cr4_features & X86_CR4_OSFXSR)
-#define HAVE_XMM (mmu_cr4_features & X86_CR4_OSXMMEXCPT)
extern char ignore_irq13;