[coreboot] [patch] fix k8 raminit edge case

Ward Vandewege ward at gnu.org
Sat Apr 11 18:43:08 CEST 2009


See attached.

Thanks,
Ward.

-- 
Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior Systems Administrator
-------------- next part --------------

This patch fixes an edge case for K8 raminit. Specifically, it brings the code
in line with the K10 code.

I was trying to use DDR2 800 (CL6) memory on an m57sli, but booting failed.
Marc Jones found this bug (thanks!), which fixes booting with this specific
memory. For the record, it was Crucial CT2KIT25664AA800.

I put the machine through a few days of use. It also succesfully passed a run
of http://people.redhat.com/dledford/memtest.shtml:

  $ ./memtest
  TEST_DIR:               /tmp
  SOURCE_FILE:            linux-2.6.29.1.tar.bz2
  NR_PASSES:              20
  MEGS_PER_COPY:          270
  NR_COPIES:              45
  PARALLEL:               no
  COMPRESS_RATIO:         5
  COMPRESS_FLAG:          j
  COMPRESS_PROG:          /bin/bzip2
  EXTRACT:                yes

  Creating comparison source...done.
  Starting test pass #1: unpacking, comparing, removing, done.
  Starting test pass #2: unpacking, comparing, removing, done.
  Starting test pass #3: unpacking, comparing, removing, done.
  Starting test pass #4: unpacking, comparing, removing, done.
  Starting test pass #5: unpacking, comparing, removing, done.
  Starting test pass #6: unpacking, comparing, removing, done.
  Starting test pass #7: unpacking, comparing, removing, done.
  Starting test pass #8: unpacking, comparing, removing, done.
  Starting test pass #9: unpacking, comparing, removing, done.
  Starting test pass #10: unpacking, comparing, removing, done.
  Starting test pass #11: unpacking, comparing, removing, done.
  Starting test pass #12: unpacking, comparing, removing, done.
  Starting test pass #13: unpacking, comparing, removing, done.
  Starting test pass #14: unpacking, comparing, removing, done.
  Starting test pass #15: unpacking, comparing, removing, done.
  Starting test pass #16: unpacking, comparing, removing, done.
  Starting test pass #17: unpacking, comparing, removing, done.
  Starting test pass #18: unpacking, comparing, removing, done.
  Starting test pass #19: unpacking, comparing, removing, done.
  Starting test pass #20: unpacking, comparing, removing, done.

Signed-off-by: Ward Vandewege <ward at gnu.org>


Index: src/northbridge/amd/amdk8/raminit_f.c
===================================================================
--- src/northbridge/amd/amdk8/raminit_f.c	(revision 4093)
+++ src/northbridge/amd/amdk8/raminit_f.c	(working copy)
@@ -2071,7 +2071,8 @@
 	}
 	
 	if (clocks > TT_MAX) {
-		return 0;
+		printk_info("warning spd byte : %x = %x > TT_MAX: %x, setting TT_MAX", SPD_TT, value, TT_MAX);
+		clocks = TT_MAX;
 	}
 
 	dtl = pci_read_config32(ctrl->f2, TT_REG);


More information about the coreboot mailing list