AMD K8 memory bug with more than 2 banks

Hendricks David W. dwh at lanl.gov
Thu Mar 18 19:01:00 CET 2004


I have applied your fix and booted it up on a Tyan S2885 mainboard with 
four banks full, but have not noticed any change in non-reserved 
registers on the AMD 8111. Can you please elaborate on exactly what 
changes I might observe? I want to check out the specifications on the 
memory we're using and make sure we're getting the right values.

On Tue, 16 Mar 2004, Craig C Forney wrote:

> 
> I ran into a problem with a Dual Opeteron cPCI board we developed with 4
> banks of memory.  It showed up when the third and fourth banks were
> populated.  I narrowed it down to a problem in src/amd/amdk8/raminit.c.
> There is a '+' where there should be a '*', causing the SPD settings to
> get corrupted, which causes bizarre results which varies depending on
> the memory parameters read from the DIMMs.  One possible result is that
> some DIMMs will work marginally because one or more of their settings
> has been corrupted.
> 
> This patch seems to resolve the problem.  I'm not sure if anybody else
> out there is accessing 4 banks of memory via the Opteron memory
> interface, so it might be just us, but it would probably be a good idea
> to commit this patch to the freebios2 source tree.  Can someone take
> this on?
> 
> Thanks,
> 
> Craig Forney
> Opus Innovations LLC
> 
> diff -Naur raminit.c.orig raminit.c
> --- raminit.c.orig	2004-03-16 13:25:05.000000000 -0800
> +++ raminit.c	2004-03-16 13:42:30.000000000 -0800
> @@ -924,7 +924,7 @@
>  		sz.side2 = 0;
>  	}
>  	map = pci_read_config32(ctrl->f2, DRAM_BANK_ADDR_MAP);
> -	map &= ~(0xf << (index + 4));
> +	map &= ~(0xf << (index * 4));
>  
>  	/* For each base register.
>  	 * Place the dimm size in 32 MB quantities in the bits 31 - 21.
> 
> 
> _______________________________________________
> Linuxbios mailing list
> Linuxbios at clustermatic.org
> http://www.clustermatic.org/mailman/listinfo/linuxbios
> 




More information about the coreboot mailing list