Steve Isaacs wrote:
I tried this config and it got this far (hangs after second SOFT_RESET):
LinuxBIOS-2.0.0._apollo_Fallback OBJ-XXXX-XX Mon Dec 10 15:21:11 PST 2007 starting...
...
Ram1.00 Ram1.01 Ram2.00 Registered 333Mhz Interleaved RAM: 0x00400000 KB Ram2.01 Registered 333Mhz Interleaved RAM: 0x00800000 KB Ram3 Initializing memory: done Initializing memory: done RAM: 0x00900000 KB Setting variable MTRR 02, base: 0000MB, range: 0800MB, type WB Setting variable MTRR 03, base: 0800MB, range: 0400MB, type WB DQS Training:RcvrEn:Pass1: 00 CTLRMaxDelay=78 done DQS Training:RcvrEn:Pass1: 01 CTLRMaxDelay=12 done DQS Training:DQSPos: 00 done DQS Training:DQSPos: 01 done DQS Training:RcvrEn:Pass2: 00 CTLRMaxDelay=79 done DQS Training:RcvrEn:Pass2: 01 CTLRMaxDelay=43 done DQS Training:tsc[00]=000000071b69c5bc DQS Training:tsc[01]=0000000723387656 DQS Training:tsc[02]=00000007233d3693 DQS Training:tsc[03]=000000081d5816f9 DQS Training:tsc[04]=0000000826dc49ca mem_trained[00]=01 mem_trained[01]=01 Ram4 v_esp=000ceef8 testx = 5a5a5a5a Copying data from cache to ram -- switching to use ram as stack... Done testx = 5a5a5a5a Disabling cache as ram now Clearing initial memory region:
INIT detected from ---- {APICID = 00 NODEID = 00 COREID = 00} ---
Issuing SOFT_RESET...
When I have seen a soft reset at this point it has been due to a memory problem. Try simpler configurations and try putting some basic memory test just before CAR is disabled. I would try on the interesting boundaries. For example, check where LinuxBIOS gets copied at 2MB and across a dimm boundary like 1GB+2MB.
ram_check(0x00200000, 0x00200000 + (640 * 1024)); ram_check(0x40200000, 0x40200000 + (640 * 1024));
Also, most of the memory registers are located in Function 2 if you decide to dump and compare them.
Marc