freebsd-dev/sys/amd64
Peter Wemm a5de0db8b5 Try harder to give new processes a clean initial fpu state. fpu_cleanstate
wasn't actually clean, it was saving the xmm registers as left over by the
bios.  fninit() doesn't clear those.

In fpudna(), instead of doing a fninit() and forgetting to load the initial
mxcsr, do a full fxrstor(&fpu_cleanstate).  Otherwise we hand over whatever
random values are left in the xmm registers by the last user.

I'm not certain of whether this is excessive paranoia or not, but there was
an outright bug in neglecting to set the mxcsr value that caused awk to
SIGFPE in some case.  Especially for Tim Robbins. :-)

i386 probably should do something about the mxcsr setings too.

Found by:  tjr
2004-06-18 04:01:54 +00:00
..
acpica Insta-MFi386: ignore disabled cpu apic id's entirely 2004-06-10 21:30:08 +00:00
amd64 Try harder to give new processes a clean initial fpu state. fpu_cleanstate 2004-06-18 04:01:54 +00:00
compile
conf The majority of FreeBSD/amd64 machines are SMP, so use ADAPTIVE_MUTEXES 2004-06-13 23:03:57 +00:00
ia32 Don't repeat the definition of IDTVEC(). It is in asmacros.h. 2004-05-24 11:28:11 +00:00
include Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
isa Move module.h include to the same place as on i386 for diff reduction. 2004-06-03 20:21:30 +00:00
pci Add missing <sys/module.h> instances which were shadowed by the nested 2004-06-03 05:58:30 +00:00
Makefile