]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/MpInitLib: Enhance waiting for AP initialization logic.
authorEric Dong <eric.dong@intel.com>
Mon, 23 Oct 2017 07:02:36 +0000 (15:02 +0800)
committerEric Dong <eric.dong@intel.com>
Tue, 24 Oct 2017 08:05:37 +0000 (16:05 +0800)
commit0594ec417c89ed00cbea6a0b0458334727c4dc28
treef16cff7d94f418b9c7cdf0c14052b4849c20e969
parent37676b9f82ab17bb043a0901d054cd8ab519543c
UefiCpuPkg/MpInitLib: Enhance waiting for AP initialization logic.

Current logic always waiting for a specific value to collect all APs
count. This logic may caused some platforms cost too much time to
wait for time out.
This patch add new logic to collect APs count. It adds new variable
NumApsExecuting to detect whether all APs have finished initialization.
Each AP let NumApsExecuting++ when begin to initialize itself and let
NumApsExecuting-- when it finish the initialization. BSP base on whether
NumApsExecuting == 0  to finished the collect AP process.

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>
Reviewed-by: Jeff Fan <vanjeff_919@hotmail.com>
UefiCpuPkg/Library/MpInitLib/Ia32/MpEqu.inc
UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm
UefiCpuPkg/Library/MpInitLib/MpLib.c
UefiCpuPkg/Library/MpInitLib/MpLib.h
UefiCpuPkg/Library/MpInitLib/X64/MpEqu.inc
UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm