On 10.08.2008 23:36, Segher Boessenkool wrote:
Don't APs also need to initialize DRAM? Or can the BSP do this "remotely" ?
APs should do it.
I'm getting a supermicro mainboard with 4 sockets and 128 GB memory, and I want that done in parallel :-)
In principle, the BSP can initialise multiple memory controllers in parallel as well. Using multiple processors to do it is quite hard, esp. since you cannot do "normal" SMP stuff because memory isn't initialised yet; and you get all the "normal" SMP headaches as well obviously.
If the memory init needs to access resources that it cannot access remotely (like, MSRs on x86), you have no choice but to use APs, of course. This seems to be the case on FAM10h (but not on K8).
The AMD Family 0Fh BKDG says: "The BSP must perform the following tasks: [...] Memory controller initialization on all processor nodes" The AMD Family 10h BKDG is silent on this.
Regards, Carl-Daniel