This commit was generated by cvs2svn to track changes on a CVS vendor
[unix-history] / sys / doc / memory-test.doc
CommitLineData
489105f9
GW
1Message-Id: <199403270118.RAA00584@corbin.Root.COM>
2From: David Greenman <davidg@root.com>
3To: "Jordan K. Hubbard" <jkh@whisker.hubbard.ie>
4Cc: csgr@alpha.ru.ac.za, freebsd-hackers@freefall.cdrom.com
5Subject: Re: Boune Buffers : Crash and Burn ^&%$&&^%
6Date: Sat, 26 Mar 1994 17:18:04 -0800
7
8>Ummm. I suppose it would be stupid to wonder whether or not this is good
9>memory you just stuck in there? :-) It does raise the point: David - what
10>does your memory test do when it finds memory errors?
11
12 The order of events is like this:
13
141) Determine amount of memory by looking at CMOS.
152) Do memory test of this memory, starting at the highest address and going
16backwards.
173) If a bad page is found, TRUNCATE the physical memory to end just before
18this page. Continue until all memory is tested.
19
20 So all memory past the lowest bad page is ignored. The number of pages that
21were chopped are then reported as # of "bad pages" when the memory information
22is printed. If there aren't any, then nothing is printed.
23 The rationale for not constructing a bit mask and weeding out just the
24pages that test bad is a flimsy one - doing so would have required moving the
25memory test into the machine independant portion of the VM system, and would
26have required much trickier coding. Since the main purpose of this was to
27verify that what the CMOS was telling us was correct, and also to identify
28when there is bad memory, trying to make the best of it when there really is
29some bad memory didn't seem important to me. ..but hey, if somebody wants to
30recode it, I won't complain. :-)
31 The problem that Terry eluded to, but didn't state, is where you test memory
32for the purpose of determining how much you have. This is problematic because
33many memory controllers will generate a fatal NMI when you 'test' non-existant
34memory (i.e. the parity check fails, and the condition is handled less than
35gracefully), and can also happen with some memory controllers that do strange
36address wrapping in the non-existant memory area. Compaq machines are alledged
37to be suseptable to one of these two problems.
38
39-DG
40