[LinuxBIOS] row_offset
popkonserve
popkonserve at gmx.de
Sat Aug 18 18:43:31 CEST 2007
Hi Joseph,
if you get the size of the modules from the SPD you can ignore all
offset addressing stuff as long as you don't need to write anything to a
specific module row. SPD is a nice thing as it tells you everything you
need to set up the northbridge memory controller :)
if you would want to write to a special module row you could use code
like this to calculate the starting address:
1. assume the DRB stores the size of the memory module row in 4MB
granularity.
2. calculate starting address:
if (previous_DRB == 0)
{starting_address = 0;}
else
{starting_address = (1<<22)<<(previous_DRB - 1);}
4MB ^^^^^ ^^^^^^^^^^^^^^ no. of additional 4MB
portions
the last address of the previous memory row would btw. be:
last_address_of_prev_row = starting_address - 1;
i didn't take a look at the code for the i82810 yet, so i'm unaware why
and how the row_offset is used.
Holger
More information about the coreboot
mailing list