]> git.proxmox.com Git - mirror_edk2.git/commit - UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h
UefiCpuPkg/RegisterCpuFeaturesLib: Start all processors simultaneously.
authorEric Dong <eric.dong@intel.com>
Thu, 20 Dec 2018 02:19:08 +0000 (10:19 +0800)
committerEric Dong <eric.dong@intel.com>
Mon, 29 Jul 2019 01:25:20 +0000 (09:25 +0800)
commit87ad6913b4dbeb0a49c6edc997e845e63840e4c2
tree2f74905c1b60d409d2e85077605d87df57676f07
parenta430589cb5c79b706e60b0d4da9adfc120d5c65b
UefiCpuPkg/RegisterCpuFeaturesLib: Start all processors simultaneously.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1973

For semaphore type register, it required all processors to do the
task at the same time.
Current logic begins BSP's task after all APs have finished their tasks.
This will caused set semaphore task hang if semaphore has package
level type.
This patch use new EDKII_PEI_MP_SERVICES2_PPI to start all processors at
the same time to fix the potential hang issue.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Chandana Kumar <chandana.c.kumar@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c
UefiCpuPkg/Library/RegisterCpuFeaturesLib/DxeRegisterCpuFeaturesLib.c
UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesLib.c
UefiCpuPkg/Library/RegisterCpuFeaturesLib/PeiRegisterCpuFeaturesLib.inf
UefiCpuPkg/Library/RegisterCpuFeaturesLib/RegisterCpuFeatures.h