mirror of https://github.com/acidanthera/audk.git
1e3f7a3782
MicrocodeDetect function will run by every threads, and it will use PcdGet to get PcdCpuMicrocodePatchAddress and PcdCpuMicrocodePatchRegionSize, if change both PCD default to dynamic, system will in non-deterministic behavior. By design, UEFI/PI services are single threaded and not re-entrant so Multi processor code should not use UEFI/PI services. Here, Pcd protocol/PPI is used to access dynamic PCDs so it would result in non-deterministic behavior. This code get PCD value in BSP and save them in CPU_MP_DATA for Ap. https://bugzilla.tianocore.org/show_bug.cgi?id=726 Cc: Crystal Lee <CrystalLee@ami.com.tw> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> |
||
---|---|---|
.. | ||
Ia32 | ||
X64 | ||
DxeMpInitLib.inf | ||
DxeMpInitLib.uni | ||
DxeMpLib.c | ||
Microcode.c | ||
MpLib.c | ||
MpLib.h | ||
PeiMpInitLib.inf | ||
PeiMpInitLib.uni | ||
PeiMpLib.c |