Am Donnerstag, den 07.03.2013, 20:53 +0400 schrieb Аладышев Константин: > AGESA code have two mechanisms to run tasks on AP cores. The first one > is used before "Relinquish control of APs", and the second one is used > after it. > > I doubt in the second one, cause it is used only in probe filter > initialization (and now OS can't boot with this feature) > > I walked "RunLateApTaskOnAllAPs(..)" function [the second mechanism] > step by step and didn't find of how system transmits task poinetrs to > APs. It seems like code executes on BSC (boot strap core) as many > times as APs present in system. > > AGESA code is very complicated, we traveles a lot to final function, > that is located in the same file. If someone look at code, I drew > little scheme of this travel. > Here it is: http://tinypic.com/r/25sx7p3/6 > Maybe i'am missing something, but I can't see the point, where agesa > transmits pointers to APs. > > Also i put LibAmdMsrRead function in DisableAllCaches function and > read MSRs containing NodeId and BSC bits. And for all cases of its > execution DisableAllCaches prints that NodeId=0 and BSC=1. If i didn't > mess up, it proves my theory above. > > So... How does "RunLateApTaskOnAllAPs(..)" work?
In the #coreboot IRC channel, Aladyshev pointed out that coreboot uses AGESA version 1.2 and the proprietary vendor BIOS of his Supermicro boards uses AGESA version 1.5. So it might be a good idea to check the changes between these versions. Thanks, Paul
signature.asc
Description: This is a digitally signed message part
-- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

