summaryrefslogtreecommitdiffstats
path: root/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
diff options
context:
space:
mode:
authorEric Dong <eric.dong@intel.com>2017-10-19 10:40:16 +0800
committerEric Dong <eric.dong@intel.com>2017-10-20 10:30:46 +0800
commit1e3f7a3782f1928a19bba81d9d0dba28d15fdae5 (patch)
tree198d0a555e0a1dab56f9e344f609d6c2dc2d0776 /ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c
parent3539e850ebf7f208dd6132a576afc737fbe90d5a (diff)
downloadedk2-1e3f7a3782f1928a19bba81d9d0dba28d15fdae5.tar.gz
edk2-1e3f7a3782f1928a19bba81d9d0dba28d15fdae5.tar.bz2
edk2-1e3f7a3782f1928a19bba81d9d0dba28d15fdae5.zip
UefiCpuPkg/MpInitLib: Avoid call PcdGet* in Ap & Bsp.
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>
Diffstat (limited to 'ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.c')
0 files changed, 0 insertions, 0 deletions