[LinuxBIOS] Opteron memclk speed/loading fix

Tao Liu liutao1980 at gmail.com
Tue May 10 11:56:18 CEST 2005


On 06 May 2005 08:55:20 -0600, Eric W. Biederman <ebiederman at lnxi.com> wrote:
> In principle I agree with this.  However those are guidelines and it
> stated that the actual details may very per motherboard.
> 
> So for merging I would request we have a generic function that
> performs this logic,  and have the generic call in raminit.c
> make a motherboard specific call.  By default that motherboard
> specific call would simply call the default generic method,
> but a motherboard that has better memory stability could override
> this.
> 
> Eric

I think we can create a mem speed table for each mem controller,
the table has 5 columns:
    dimms,  how many dimms max for this configuration  
    1rank,  how many 1rank dimms max for this configuration
    2rank,  ....
    4rank,  ....
    speed,  the max speed for this configuration

so for a normal mainboard the table should be:
dimms,  1rank,  2rank,  4rank,  speed
8,  8,  8,  8,  333
4,  4,  4,  4,  333
4,  4,  2,  0,  400
4,  4,  0,  2,  400
0,  0,  0,  0,  0  (the end)

and for a mainboard can work with 4 4rank dimms the table maybe:
dimms,  1rank,  2rank,  4rank,  speed
8,  8,  8,  8,  333
4,  4,  4,  4,  400 
0,  0,  0,  0,  0  (the end)

in raminit.c we analyse this table and get the max speed for each
mem controller of this mainboard. for single channel case we divide
the first four column values by 2 and get the correct configuration.
I don't know whether there are 3rank dimms, if yes maybe we should
have the 3rank column.

Tao




More information about the coreboot mailing list