Subject: Re: 1.1 386 Hardware
To: Peter Galbavy <>
From: John Dyson <>
List: current-users
Date: 11/08/1995 05:40:50
> be done. IMHO. It only has to be done once. Yes, I know each driver needs
> its own code - which has been made available for at least the AHA1542
> series.
The method used in FreeBSD (and IS relatively machine independent) only
requires a few 'C' statements in each driver.  The current code calls
a '386 specific subroutine (which when the motivation arises -- will
be cleaned up and placed in a machine independent portion of the tree.)
The technique that we (I) used in FreeBSD is good, but could stand
a re-implementation.  The beauty of the approach used in FreeBSD is
that it is minimally invasive and when no-one is using ISA anymore --
and some day I won't :-(, then the code becomes a NOOP automatically.
On FreeBSD, you don't detect any slowdown due to bouncing -- as any
good implementation would do -- only pages that are outside of the
16MB (or valid) range are bounced.
> to "NIH" (Not Invented Here). This small phrase is slowing down
> the integration of large (probably beneficial) sub-systems from
Sometimes FreeBSD has been "put-down" (insulted) because it tends
to have a bit less of an "NIH" problem.  I think that it still has
vestiges of it -- but it is pretty hard to overcome.  There has been
times that we (FreeBSD) have replaced our subsystems with NetBSDs
when it is advantageous -- of course giving credit to the NetBSDs (or whomever)
developers.  Also, for example FreeBSD uses NetBSDs MIT-SHM implementation,
even though it is *really* inefficient (does lots of unnecessary stuff),
it does get the job done.  When it comes down to it, there are lots
of more important things to do!!!  (note the names of the developers on
the source code.)

Note that I work at AT&T Bell Labs (I am actually in the CCS part -- the
real AT&T after the breakup, so I won't be associated with Bell Labs for
long), and it seems to be the capitol of the "NIH" syndrome (even if we do
it worse.)  It is only distructive.  The situation is changing drastically
(at least in my organization, where we are using FreeBSD and not UNIX
(or worse -- writing yet another OS or UNIX clone!!!))