From 8b2fc8bd8790dee5a6ecac1d15d934260d858663 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Mon, 28 Aug 2017 11:05:00 +0800 Subject: [PATCH] UefiCpuPkg/Mplib.c: Perform complete initialization when enable AP. PI has description said If an AP is enabled, then the implementation must guarantee that a complete initialization sequence is performed on the AP, so the AP is in a state that is compatible with an MP operating system. Current implementation just set the AP to idle state when enable this AP which is not follow spec. This patch fix it. Cc: Michael Kinney Cc: Ruiyu Ni Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Dong Reviewed-by: Ruiyu Ni (cherry picked from commit d5fdae96e2fc88c4efee2af12da1dbaa47d161a3) --- UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c index df19b43bc0..c4afc69cbf 100644 --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c @@ -1717,7 +1717,7 @@ EnableDisableApWorker ( if (!EnableAP) { SetApState (&CpuMpData->CpuData[ProcessorNumber], CpuStateDisabled); } else { - SetApState (&CpuMpData->CpuData[ProcessorNumber], CpuStateIdle); + ResetProcessorToIdleState (ProcessorNumber); } if (HealthFlag != NULL) {