Ok, from the snippet ... (of ~/m1631/raminit.inc) ...
// if we are using DOC MIL, the initial setup is not needed.
#ifdef USE_DOC_MIL
// pull in the value of the current register.
inl %dx, %ecx
jmp oddslot
#endif
<snippy snip>
oddslot:
// OK, memory is on. Size is in @0.
// Turn on the odd slot and see if it's there.
orl $0x1800000, %ecx
WRITE_MCR0
// ok, the odd bank is on. See if there's something there.
// put a 0 in, if there's something there, it will read back.
movl 0, %esi
movl $0, (%esi)
cmp $0, (%esi)
jz odd_slot_ok
andl (~$0x1800000), %ecx
WRITE_MCR0
odd_slot_ok:
// pick the next memory register to configure.
// If done, drop out.
What is "@0" in this language? I thought @ was a macro decleration (from my a86 days)?
Generally, I'm assuming that on DoC, due to space restrictions, you have some sort of
predefined table for your specific RAM config ... which is why we're skirting around
all
of the autodetect / sizing guff ...
... but then you've got memory sizing twice ... once in ipl.S and again in raminit.inc
... I
don't see where these pieces join ... ?
----- Original Message -----
>From: "Ronald G Minnich" <[EMAIL PROTECTED]>
>To: "Ian" <[EMAIL PROTECTED]>
>Subject: Re: RAM Init
>Date: Tue, 19 Feb 2002 07:52:34 -0700
>
> On Tue, 19 Feb 2002, Ian wrote:
>
> > I'm looking at RAM detection code here for at least three different types of RAM,
>and I'm
> > simply not interested in it ... I don't have the space to do this properly.
>
>
> you can't just take the code and reduce it. We tried that once before. You
> have to really understand SDRAM startup and then write your own.
>
> I recommend you go line-by-line through the M1631 setup, and not write a
> single line of code until you know, for each line, what it does.
>
> ron
>
>