Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jul 2002 08:18:58 +0200
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Aaron Burke <aburke@nullplusone.com>
Cc:        Paulo Roberto <nirv199@yahoo.com>, FreeBSD-Questions <freebsd-questions@freebsd.org>
Subject:   Re: kernel - pentium FDIV bug corrected?
Message-ID:  <20020702061857.GA29547@falcon.midgard.homeip.net>
In-Reply-To: <NGBBLCIHCLNJAIGIFFHJGEAECHAA.aburke@nullplusone.com>
References:  <20020702010136.1563.qmail@web14907.mail.yahoo.com> <NGBBLCIHCLNJAIGIFFHJGEAECHAA.aburke@nullplusone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 01, 2002 at 10:52:53PM -0700, Aaron Burke wrote:
> > -----Original Message-----
> > From: owner-freebsd-questions@FreeBSD.ORG
> > [mailto:owner-freebsd-questions@FreeBSD.ORG]On Behalf Of Paulo Roberto
> > Sent: Monday, July 01, 2002 06:02 PM
> > To: freebsd-questions@FreeBSD.ORG
> > Subject: kernel - pentium FDIV bug corrected?
> > 
> > 
> > Hi,
> > 
> > Since I am not a C expert, I will ask those who are...
> > 
> > Is there an implementation in the FreeBSD kernel to correct the
> > pentium fdiv bug? I am interested because I am switching a few
> > boxes from Linux (that dmesg tells me that the machine has this
> > bug, and it is correcting the problem thru code in the linux
> > kernel) to FreeBSD and I need a few of them to run math routines
> > in a database.
> 
> There is a kernel config option that takes care of it. Also, the
> problem affected more than just the pentium.
> 
> But check out /sys/i386/conf/LINT for the "NO_F00F_HACK" option.

The F00F bug is not the same as the FDIV bug.  Also the FDIV bug
affected only the earliest Pentiums (I think it was only the 60 and 66
MHz versions) while the F00F bug affected all Pentiums and Pentium/MMX.

As far as I know there is no code in FreeBSD to correct the FDIV bug,
and to be honest I don't really see how it could do that, but if Linux
does it I suppose it is possible.

One possible workaround could be to use the emulator instead of the
hardware FPU.  Check the [GPL_]MATH_EMULATE option and the npx device
in LINT.  Note that this will cause all floating point operations to go
slower so it might not be an acceptable solution.


If you really have a machine with the FDIV bug, I would actually
suggest you replace the machine, or at least the CPU.  It can't be that
expensive.


-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020702061857.GA29547>