*BSD News Article 8388


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!metro!ipso!runxtsa!bde
From: bde@runx.oz.au (Bruce Evans)
Subject: Re: [386bsd] installing fpu (ULSI) results in floating exceptions
Message-ID: <1992Dec1.175549.19319@runx.oz.au>
Organization: RUNX Un*x Timeshare.  Sydney, Australia.
References: <1992Nov30.013413.1119@ponds.uucp> <1992Nov30.060552.7912@kithrup.COM> <ByJIpL.69w@unx.sas.com>
Date: Tue, 1 Dec 92 17:55:49 GMT
Lines: 20

In article <ByJIpL.69w@unx.sas.com> sastdr@torpid.unx.sas.com (Thomas David Rivers) writes:

>  That is, we all _know_ that the '387 is a superset of the '287, and
> that '287 instructions should work with a '387; but ULSI didn't know
> that...  Their chip only implements the strictly '387 instructions.
> (I don't know what these strictly '387 instructions are, what is/isn't
>  implemented... seems strange to me.)

Um, the 387 (or at least the 486) is _not_ a superset of the 287.  It
lacks at least the FPSETPM instruction.  Big deal.  In addition, the i486
manual takes 8 pages to describe all the small differences between an
8087-287 and an 387-486.  The 287 had many minor deficiencies.  The
differences should not cause any problems with the default 386BSD setup.
But don't expect to run your hand-crafted IEEE-conformant 387 code on
a 287.

I suspect that the problems are caused by hardware differences and bugs
in the 386BSD exception handlers.
-- 
Bruce Evans  (bde@runx.oz.au)