audk/UefiCpuPkg/Library/MpInitLib
YuanhaoXie c7a7f09c1d UefiCpuPkg: Decouple the SEV-ES functionality.
The purpose is to fix an issue where an exception occurs at the start
of the DXE phase by applying the following patch series on INTEL-based
systems.

UefiCpuPkg: Refactor the logic for placing APs in HltLoop.
UefiCpuPkg: Refactor the logic for placing APs in Mwait/Runloop.
UefiCpuPkg: Create MpHandOff.
UefiCpuPkg: ApWakeupFunction directly use CpuMpData.
UefiCpuPkg: Eliminate the second INIT-SIPI-SIPI sequence.

This series of patches makes changes to the way the APs are
initialized and woken up. It removes the 2nd time INIT-SIPI-SIPI and
introduces a special startup signal to wake up APs. These patches also
create a new HOB identified by the mMpHandOffGuid, which stores only the
 minimum information required from the PEI phase to the DXE phase.
As a result, the original HOB (mCpuInitMpLibHobGuid) is now used only
as a global variable in the PEI phase and is no longer necessary in the
DXE phase for INTEL-based systems. The AMD SEV-ES related code
still relies on the OldCpuMpData in the DXE phase.

This patch decouple the SEV-ES functionality of assigning CpuMpData to
OldCpuMpData->NewCpuMpData from the Intel logic.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
2023-07-27 17:10:13 +05:30
..
Ia32 UefiCpuPkg: ApWakeupFunction directly use CpuMpData. 2023-07-11 02:47:27 +00:00
X64 UefiCpuPkg: ApWakeupFunction directly use CpuMpData. 2023-07-11 02:47:27 +00:00
AmdSev.c UefiCpuPkg: Create MpHandOff. 2023-07-11 02:47:27 +00:00
DxeMpInitLib.inf UefiCpuPkg: Create MpHandOff. 2023-07-11 02:47:27 +00:00
DxeMpInitLib.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
DxeMpLib.c UefiCpuPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
Microcode.c UefiCpuPkg: Update code to be more C11 compliant by using __func__ 2023-04-10 14:19:57 +00:00
MpEqu.inc UefiCpuPkg: Rename AsmRelocateApLoopStart. 2023-03-07 08:14:59 +00:00
MpHandOff.h UefiCpuPkg: Create MpHandOff. 2023-07-11 02:47:27 +00:00
MpLib.c UefiCpuPkg: Decouple the SEV-ES functionality. 2023-07-27 17:10:13 +05:30
MpLib.h UefiCpuPkg: Eliminate the second INIT-SIPI-SIPI sequence. 2023-07-11 02:47:27 +00:00
PeiMpInitLib.inf UefiCpuPkg: Create MpHandOff. 2023-07-11 02:47:27 +00:00
PeiMpInitLib.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PeiMpLib.c UefiCpuPkg: Create MpHandOff. 2023-07-11 02:47:27 +00:00