Hi all,
recently, I am using coreboot for my project. I have two DIMM slots on my board and I installed two memory modules on it(each DIMM slot has a memory module). Currently, I let coreboot initialize one of them. After loading operating system, I would like to use OS to initialize another memory module. my question is: Is it feasible for OS to initialize the another memory module? I looked at the BKDG of my board, I didn't see any documented words saying I can do or cannot do this. I would appreciate it if anyone could give me some hints or direction of what documents I need to look at.
Thanks, Fengwei
AFAIK, the controller needs to initialise all channels at once. Worse yet, if you only have two slots, chances are those are on the same channel, so commands intended for the first dimm will unavoidably reach the second dimm. You would need to stop the MC for this to happen. You lose all the tables left by the BIOS in the memory.
That, and there's no reason you'd want to do this. If you had a board with several sockets, you could theoretically initialize MCs on application processors independently, but it's too much unnecessary work IMO.
It's unfeasible and impractical, but if you still want information on this, the BKDG is your bible.
Alex
On 02/13/2011 10:17 PM, Fengwei Zhang wrote:
Hi all,
recently, I am using coreboot for my project. I have two DIMM slots on my board and I installed two memory modules on it(each DIMM slot has a memory module). Currently, I let coreboot initialize one of them. After loading operating system, I would like to use OS to initialize another memory module. my question is: Is it feasible for OS to initialize the another memory module? I looked at the BKDG of my board, I didn't see any documented words saying I can do or cannot do this. I would appreciate it if anyone could give me some hints or direction of what documents I need to look at.
Thanks, Fengwei