Add AP detection to stage0 to prevent APs from re-initializing mainboard setup
that has already been done by the BSP. For single processor systems the CPU flag is always 0, BSP. This code also moves the AP stop for K8 mainboards to after memory setup so the AP's MTRRs can be setup to match system memory. Signed-off-by: Marc Jones <marcj303@gmail.com> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://coreboot.org/repository/coreboot-v3@1129 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
a794edb17b
commit
f2872767a2
9 changed files with 73 additions and 59 deletions
|
|
@ -181,7 +181,6 @@ int main(void)
|
|||
soft_reset();
|
||||
}
|
||||
#endif
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
//It's the time to set ctrl in sysinfo now;
|
||||
fill_mem_ctrl(sysinfo->nodes, sysinfo->ctrl, spd_addr);
|
||||
|
|
@ -190,12 +189,11 @@ int main(void)
|
|||
|
||||
memreset_setup();
|
||||
|
||||
//do we need apci timer, tsc...., only debug need it for better output
|
||||
/* all ap stopped? */
|
||||
// init_timer(); // Need to use TMICT to synconize FID/VID
|
||||
|
||||
sdram_initialize(sysinfo->nodes, sysinfo->ctrl, sysinfo);
|
||||
|
||||
/* After RAM is setup allow the APs to do RAM and MTRRs setup if needed. */
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
#if 0
|
||||
print_pci_devices();
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -224,7 +224,6 @@ int main(void)
|
|||
soft_reset_x(sysinfo->sbbusn, sysinfo->sbdn);
|
||||
}
|
||||
#endif
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
//It's the time to set ctrl in sysinfo now;
|
||||
fill_mem_ctrl(sysinfo->nodes, sysinfo->ctrl, spd_addr);
|
||||
|
|
@ -233,12 +232,11 @@ int main(void)
|
|||
|
||||
memreset_setup();
|
||||
|
||||
//do we need apci timer, tsc...., only debug need it for better output
|
||||
/* all ap stopped? */
|
||||
// init_timer(); // Need to use TMICT to synconize FID/VID
|
||||
|
||||
sdram_initialize(sysinfo->nodes, sysinfo->ctrl, sysinfo);
|
||||
|
||||
/* After RAM is setup allow the APs to do RAM and MTRRs setup if needed. */
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
#if 0
|
||||
print_pci_devices();
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -134,7 +134,6 @@ int main(void)
|
|||
printk(BIOS_INFO, "ht reset -\n");
|
||||
soft_reset();
|
||||
}
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
//It's the time to set ctrl in sysinfo now;
|
||||
fill_mem_ctrl(sysinfo->nodes, sysinfo->ctrl, spd_addr);
|
||||
|
|
@ -143,12 +142,11 @@ int main(void)
|
|||
|
||||
memreset_setup();
|
||||
|
||||
//do we need apci timer, tsc...., only debug need it for better output
|
||||
/* all ap stopped? */
|
||||
// init_timer(); // Need to use TMICT to synconize FID/VID
|
||||
|
||||
sdram_initialize(sysinfo->nodes, sysinfo->ctrl, sysinfo);
|
||||
|
||||
/* After RAM is setup allow the APs to do RAM and MTRRs setup if needed. */
|
||||
allow_all_aps_stop(bsp_apicid);
|
||||
|
||||
printk(BIOS_DEBUG, "initram returns\n");
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue