Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 65485e195f37653bbbc06db2001c3a189d468666
https://github.com/tianocore/edk2/commit/65485e195f37653bbbc06db2001c3a189d468666
Author: Phil Noh <[email protected]>
Date: 2025-09-04 (Thu, 04 Sep 2025)
Changed paths:
M UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
M UefiCpuPkg/Library/MpInitLib/MpLib.c
M UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
Log Message:
-----------
UefiCpuPkg/MpInitLib: Ensure AP wake up on WakeUpByInitSipiSipi mode
If AP loop mode is not Halt loop, it is found that the AP in ApInitDone
state exits the loop mode immediately when WAKEUP_AP_SIGNAL is signaled
at the first step of AP wake up. When WakeUpByInitSipiSipi is enabled,
it is possible that the AP could clear StartupApSignal buffer before the
BSP sends Init-Startup IPI to the AP. In the case, it causes that the BSP
frees AP reset vector buffer even though AP wake up is in process. This
results in an exception error. To ensure AP wake up, it is expected that
the AP is in the known non-executable state before the AP wakeup signal.
The issue happens when the AP is disabled through the MP service of
gEfiMpServiceProtocolGuid->EnableDisableAP(FALSE) and enabled later
through gEfiMpServiceProtocolGuid->EnableDisableAP(TRUE). In the flow,
the AP that in MINOTOR-MWAIT-Loop or Run-Loop can respond to the
WAKEUP_AP_SIGNAL before the BSP sends the INIT-SIPI-SIPI.
Signed-off-by: Phil Noh <[email protected]>
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits