1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/sys
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
..
alpha Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
amd64 Try harder to give new processes a clean initial fpu state. fpu_cleanstate 2004-06-18 04:01:54 +00:00
arm Nuke dead code. 2004-06-17 17:52:12 +00:00
boot Save a couple of bytes for the SIO case. 2004-06-17 12:02:25 +00:00
cam Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
coda Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
compat Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
conf Commit pf version 3.5 and link additional files to the kernel build. 2004-06-16 23:24:02 +00:00
contrib Import two fixes from the OpenBSD stable branch: 2004-06-17 16:59:47 +00:00
crypto Use __FBSDID(). 2004-06-14 00:38:54 +00:00
ddb
dev A couple more style(9) nits I should have included in last commit 2004-06-18 01:28:54 +00:00
fs Merge some additional leaf node socket buffer locking from 2004-06-18 02:57:55 +00:00
geom Reduce the thaumaturgical level of root filesystem mounts: Instead of using 2004-06-17 21:24:13 +00:00
gnu Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
i4b Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
i386 Fixed a panic caused by over-optimizing npxdrop() in the non-FXSR case. 2004-06-18 02:10:55 +00:00
ia64 Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
isa Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
isofs/cd9660 Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
kern Merge some additional leaf node socket buffer locking from 2004-06-18 02:57:55 +00:00
libkern
modules Commit pf version 3.5 and link additional files to the kernel build. 2004-06-16 23:24:02 +00:00
net Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
net80211 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netatalk Socket MAC labels so_label and so_peerlabel are now protected by 2004-06-13 02:50:07 +00:00
netatm The socket field so_state is used to hold a variety of socket related 2004-06-14 18:16:22 +00:00
netgraph Merge additional socket buffer locking from rwatson_netperf: 2004-06-17 22:48:11 +00:00
netinet If SO_DEBUG is enabled for a TCP socket, and a received segment is 2004-06-18 03:31:07 +00:00
netinet6 Link ALTQ to the build and break with ABI for struct ifnet. Please recompile 2004-06-13 17:29:10 +00:00
netipsec
netipx Grab the socket buffer send or receive mutex when performing a 2004-06-15 03:51:44 +00:00
netkey
netnatm Extend coverage of SOCK_LOCK(so) to include so_count, the socket 2004-06-12 20:47:32 +00:00
netncp Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
netsmb Merge additional socket buffer locking from rwatson_netperf: 2004-06-17 22:48:11 +00:00
nfs
nfs4client Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
nfsclient Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
nfsserver Merge additional socket buffer locking from rwatson_netperf: 2004-06-17 22:48:11 +00:00
opencrypto Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
pc98 MFi386: revision 1.1161 2004-06-16 14:21:52 +00:00
pccard Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
pci Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
posix4
powerpc Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
rpc
security Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
sparc64 Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
sys Bumb version so apps can detect whether CLOCK_VIRTUAL and CLOCK_PROF are 2004-06-17 23:16:30 +00:00
tools
ufs Do the dreaded s/dev_t/struct cdev */ 2004-06-16 09:47:26 +00:00
vm Second half of the dev_t cleanup. 2004-06-17 17:16:53 +00:00
Makefile