Lost Memory (4.*BSD)

Dave Martindale dmmartindale at watcgl.UUCP
Thu Feb 16 15:27:50 AEST 1984


The "mcr1 at tr2" is printed out by the autoconfigure code which goes
probing through the NEXUSes.  It does nothing about looking at or adjusting
the starting address of that memory - it just configures it so error reporting
gets done.  The actual determination of how much memory is present on
the machine is done by simply scanning up through memory a page at a time
until the CPU takes a machine check from referencing non-existent memory.
If the second block isn't configured to be contiguous with the first,
UNIX won't find it.  Someone may have botched the starting-address jumpering,
or the address may have been clobbered since the last powerup.  Try powering
the memory completely down (using the breaker on its power supply) and
reboot.  If UNIX doesn't find it then, the starting address is likely bad.
VMS is probably smarter about changing the starting address of a second
controller to make it contiguous with the first.

If you have two controllers with equal amounts of memory on each, you will
want to interleave them.  Add the lines;

DEPOSIT 20002000 101	! ENABLE INTERLEAVE FOR TR #1 MEMORY CONTROLLER
DEPOSIT 20002004 4000	! FORCE 0 STARTING ADDRESS
DEPOSIT 20004000 101	! ENABLE INTERLEAVE FOR TR #2 MEMORY CONTROLLER
DEPOSIT 20004004 4000	! FORCE 0 STARTING ADDRESS

to your xxSBOO.CMD and xxMBOO.CMD command files just before the "load boot"
line.  (This should go in RESTAR.CMD too, I think.)



More information about the Comp.unix.wizards mailing list