On Wed, 04 Jun 2008 14:14:49 +0200, Carl-Daniel Hailfinger
<[EMAIL PROTECTED]> wrote:
> On 04.06.2008 04:59, Joseph Smith wrote:
>> Good News!!!
>> I think I got it working :-)
>>
> 
> Great!
> 
>> I am running memtest86 right now and if all goes well I build it again
> with
>> filo and test it.
>>
>> First I tried with initializing each dimm socket. I booted to memtest
> and
>> it kept erroring out at 256mb. Because this is a double sidded 512MB
>> so-dimm, I figured out that each side of each dimm needs to be
> initialized.
>> So I came up with this:
>>
>>
>>      for (i = 0; i < MAX_DIMM_SIDES; i++) {
>>              dimm_end = pci_read_config8(ctrl->d0, DRB + i);
>>              if (dimm_end > dimm_start) {
>>                      PRINT_DEBUG("    Sending RAM command 0x");
>>                      PRINT_DEBUG_HEX32(reg32);
>>                      PRINT_DEBUG(" to 0x");
>>                      PRINT_DEBUG_HEX32((dimm_start * 32 * 1024 * 1024) + 
>> addr_offset);
>>                      PRINT_DEBUG("\r\n");
>>                      read32((dimm_start * 32 * 1024 * 1024) + addr_offset);
>>              }
>>              /* Set the start of the next DIMM. */
>>              dimm_start = dimm_end;
>>      }
>>
>> It seems to work good so far, hopefully I will be submitting a patch
> soon.
>>
> 
> Please submit a patch now, regardless of how ugly/polluted/unclean it
> is. We had too many losses of great patches in the past because
> computers died and an early not-ready patch is better than nothing.
> 
Oh, don't worry all be submitting a patch. I just want to make sure I have
my bases covered first.
I hope You don't think the code above is in any way
"ugly/polluted/unclean". I think it is a very clean, fast, and great way to
acomplish memory initialization.

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org


-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to