[LinuxBIOS] E7501 Raminit rewrite

Steven J. Magnani steve at digidescorp.com
Tue Sep 13 17:07:57 CEST 2005


This one ends up being a little more than a "patch".
I ended up reorganizing the E7501 raminit code so I could follow it, and
fixed some bugs along the way.

Significant logical changes:

* Added support for "fast" (64-clock) refresh
* Added code to support remap window for 3 - 4 GB systems
* Fixed premature configuration of true row boundaries that resulted in
some sections of DRAM not receiving JEDEC commands (see
http://openbios.org/pipermail/linuxbios/2005-June/011752.html).
* Redefined RCOMP_MMIO so that RCOMP registers can be configured on
systems where A20M# is asserted.
* Disabled subsystem (vendor) ID configuration
* #ifdef'd out suspicious looking code (see
http://openbios.org/pipermail/linuxbios/2005-June/011759.html)
* Added optional run-time checking of dual-channel compatibility of
installed DIMMs 
* Move JEDEC SPD and SDRAM definitions into reusable #include files

Probably, the rewritten code should be reviewed as if it were new. My
hope is that it is now easy enough to follow that this shouldn't be too
bad.

The original code is, of course, in Subversion. Since I reordered the
functions as part of the rewrite, a 'diff' of of the new code against
the original won't tell you much. I've attached a reordered copy of the
Subversion code that won't compile, but should be a little easier to
diff against the new code so you can see what's changed.

I will hold off on committing this for awhile to give people time to
look at it. I know that radical changes are a pain to review, but IMHO
the improvement in maintainability is significant.

New files that are part of this 'patch', but not included here (I
committed these to Subversion):
src/include/spd.h
src/include/sdram_mode.h
src/include/northbridge/intel/e7501/e7501.h

Thanks,
Steve

------------------------------------------------------------------------
 Steven J. Magnani               "I claim this network for MARS!
 www.digidescorp.com              Earthling, return my space modulator!"
 
 #include <standard.disclaimer>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: raminit-new.c.zip
Type: application/octet-stream
Size: 31132 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20050913/6451d076/attachment.obj>


More information about the coreboot mailing list