Subject: Followup on bootup problem
To: None <netbsd-help@NetBSD.ORG>
From: Bruce Drake <bruce@synxcti.com>
List: netbsd-help
Date: 07/22/1996 17:36:17
In an earlier mailing, I asked for and received help on a problem I was
having with installing NetBSD 1.1 for the i386 platform.
A suggestion was made by Brett Lymn (blymn@awadi.com.au) that I try
reducing my memory to 16MB (from 48MB) and try again. This action seemed
to work at first, at least it allowed me to install the system. However,
there was a kernel panic every time I tried to reboot. Frustrated, I
installed Slackware Linux 3.0 (at least temporarily) without hitch.
In the meantime, I did two things of interest. I played with the BIOS
defaults concerning the cache settings, and, out of curiosity, read up on
PCI & Linux in the source code. I learned the following and it may be of
help to others in the future.
1) According to the file /usr/include/linux/pci.h (part of Linux of
course), certain Pentium/PCI motherboards have peroblems with cache.
Allow me to excerpt the pertinent part of the header file below:
/* Intel Neptune/Mercury/Saturn */
/* If the Internal cache is Write back, */
/* the L2 cache must be write through ! */
/* I've to check out how to control that */
/* for the moment, we won't touch the cache*/
/* UMC 8891A Pentium chipset */
/* Why did you think UMC was cheaper ?? */
After some searching, I found that my chipset was in fact the UMC chipset.
Why this is a problem leads me to the next item,
2) The BIOS settings for L1 and L2 cache as well as the wait state
settings had a profound influence on the stability of NetBSD (and to a
lesser extent, Linux). Apparently, Linux disables enough PCI features so
that the system can run reasonably, although performance will suffer in
most cases. NetBSD, I would conclude, tries to eke out all the
performance of the chipset and enables the cache. But this will
apparently not work for the motherboards above, resulting in unstable
memory access. Its almost like the more memory there is, the more time
the chipset needs to fiddle with it (refresh delays?)
Question: If I want to avoid running in only 16MB of memory and avoid
crashing the system when I decide to reboot/shutdown, what am I going to
have to do? Toss the motherboard I just bought, or is there another fix?
Comments anyone?
------------------
Bruce Drake
Synectics, Inc.
(919) 872-1275 USA