[net.unix-wizards] Lost Memory

ellis@flairvax.UUCP (Michael Ellis) (02/13/84)

We recently installed a second memory controller on our 780, expanding
our memory from 4Mb to 8Mb. The DEC man is convinced the hardware's OK,
since VMS sees it.

However, neither 4.1 nor 4.2 BSD can find the new memory.

From our console log (at boot time) when we had only 4Mb:

real mem  = 4193280
avail mem = 3675136
mcr0 at tr1

...and now we get:

real mem  = 4193280
avail mem = 3675136
mcr0 at tr1
mcr1 at tr2

The new controller is found, but not the new memory!

Seems I recall something about this a while back in this newsgroup.
Does anyone remember?

Michael Ellis - Fairchild AI Lab - Palo Alto CA - (415)858-4270

(ARPA) MEllis@SRI-KL
(UUCP) {decwrl,hplabs}!flairvax!ellis

dmmartindale@watcgl.UUCP (Dave Martindale) (02/16/84)

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.)