[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CVS: cvs.openbsd.org: src



CVSROOT:	/cvs
Module name:	src
Changes by:	miod_(_at_)_cvs_(_dot_)_openbsd_(_dot_)_org	2008/05/04 06:27:46

Modified files:
	sys/arch/sgi/sgi: ip32_machdep.c 

Log message:
Unpopulated CRIME memory banks (or logically empty due to CRIME merging
contiguous 64MB DIMMs in a single 128MB one) are not reported as memory at
offset zero, but actually as duplicates of the first entry (which always
matches real memory).

If the DIMMs are set up in decreasing sizes, as recommanded by SGI, the
first entry will be configured at offset zero, so the existing code would
run fine.

If, however, you order your DIMMs in a different order, the first entry
might not be at offset zero, so the kernel will mess up its memory
information, which will cause random effects from simply misreported memory
sizes, to the inability to boot.

Fix this by strengthening the check for an empty bank.

Problem reported by Jason Bergstrom (bergie, bergie dot net), analysis
and fix by me.



Visit your host, monkey.org