Return to BSD News archive
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!EU.net!news.funet.fi!klaava!klaava!not-for-mail From: torvalds@klaava.Helsinki.FI (Linus Torvalds) Newsgroups: comp.os.386bsd.development Subject: Re: Could the BSD 4.4 Lite be a new beginning? Date: 16 Feb 1994 15:43:14 +0200 Organization: University of Helsinki Lines: 29 Message-ID: <2jt7ti$1ib@klaava.Helsinki.FI> References: <HSU.94Feb14043905@laphroaig.cs.hut.fi> <R60q1p-.dysonj@delphi.com> <g89r4222.761250723@kudu> <CL9MHI.ECq@cogsci.ed.ac.uk> NNTP-Posting-Host: klaava.helsinki.fi In article <CL9MHI.ECq@cogsci.ed.ac.uk>, Richard Tobin <richard@cogsci.ed.ac.uk> wrote: > >I would be interested to know the results of running crashme on a BSD >machine without a floating point processor - floating point emulation >is a fine area for bugs. I agree. I've asked lots of people to run crashme on linux, and the floating point emulator has been cleaned up as a result of the results (it didn't actually crash, but the kernel complained a lot). The "floating point" operations crashme tends to try out are rather interesting (undefined precision masks, weird prefixes etc), and it does take some work to fix them all (and yes, all reported errors fixed now). One particularly interesting way to mess up the floating point emulator that Bill Metzenthen (who wrote the current linux FPU emulator) came up with is to modify the FPU instruction *after* it has already been pre-fetched. So by the time the floating point emulator gets to emulate the instruction that trapped, the instruction no longer exists, and the emulator sits there looking at an instruction which isn't a floating point instruction at all. Just for interest: so far, I have three reports of actual kernel lockups after running crashme for some hours, one of which was due to a buggy i386/i387 combination. The reason for two are yet to be determined. The other reports are successful, but the longest specific report was just a few over-night runs: good, but not conclusive by any means. Linus