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

Reply via email to