linux/arch
Linus Torvalds 8ccb3dcd1f x86: Fix booting with "no387 nofxsr"
Jesper Juhl reported that testing the software math-emulation by forcing
"no387" doesn't work on modern CPU's.

The reason was two-fold:
 - you also need to pass in "nofxsr" to make sure that we not only don't
   touch the old i387 legacy hardware, it also needs to disable the
   modern XMM/FXSR sequences
 - "nofxsr" didn't actually clear the capability bits immediately,
   leaving the early boot sequence still using FXSR until we got to
   the identify_cpu() stage.

This fixes the "nofxsr" flag to take effect immediately on the boot CPU.

Debugging by Randy Dunlap

Acked-by: Randy Dunlap <rdunlap@xenotime.net>
Cc: Jesper Juhl <jesper.juhl@gmail.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-03 09:47:14 -07:00
..
alpha [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
arm Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2006-10-03 09:14:00 -07:00
arm26 [PATCH] rename the provided execve functions to kernel_execve 2006-10-02 07:57:23 -07:00
avr32 [PATCH] AVR32: Implement kernel_execve 2006-10-02 07:57:24 -07:00
cris [PATCH] namespaces: utsname: use init_utsname when appropriate 2006-10-02 07:57:21 -07:00
frv Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-10-03 09:13:29 -07:00
h8300 [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
i386 x86: Fix booting with "no387 nofxsr" 2006-10-03 09:47:14 -07:00
ia64 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-10-03 09:13:29 -07:00
m32r [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
m68k [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
m68knommu [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
mips Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial 2006-10-03 09:13:29 -07:00
parisc [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-10-03 08:52:26 -07:00
ppc Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-10-03 08:52:26 -07:00
s390 [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
sh sh: Kill off remaining config.h references. 2006-10-03 13:19:02 +09:00
sh64 sh64: Update cayman defconfig. 2006-10-03 13:31:43 +09:00
sparc [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
sparc64 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 2006-10-03 08:53:26 -07:00
um [PATCH] Remove the use of _syscallX macros in UML 2006-10-02 07:57:23 -07:00
v850 [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00
x86_64 [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
xtensa [PATCH] provide kernel_execve on all architectures 2006-10-02 07:57:23 -07:00