diff options
| author | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 17:50:32 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@athlon.transmeta.com> | 2002-02-04 17:50:32 -0800 |
| commit | 448ba078f486e18d82975e86e50bb1fee82fb5f2 (patch) | |
| tree | 976a195765dda32781bb2387fd216bad9d4eb24b /include | |
| parent | 3192b2dcbe00fdfd6a50be32c8c626cf26b66076 (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.h | 25 | ||||
| -rw-r--r-- | include/asm-i386/i387.h | 4 | ||||
| -rw-r--r-- | include/asm-i386/processor.h | 2 |
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; |
