audk/UefiCpuPkg/Library/MpInitLib
Ray Ni ccc269756f MpInitLib: Move the Above1Mb vector allocation to MpInitLibInitialize
The AP vector consists of 2 parts:
1. the initial 16-bit code that should be under 1MB and page aligned.
2. the 32-bit/64-bit code that can be anywhere in the memory with any
   alignment.

The need of part #2 is because the memory under 1MB is temporary
"stolen" for use and will "give" back after all AP wake up. The range
of memory is not marked as code page in page table. CPU may trigger
exception as soon as NX is enabled.

The part #2 memory allocation can be done in the MpInitLibInitialize.

Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
2022-06-10 12:15:49 +00:00
..
Ia32 MpInitLib: Put SEV logic in separate file 2022-06-10 12:15:49 +00:00
X64 MpInitLib: Put SEV logic in separate file 2022-06-10 12:15:49 +00:00
AmdSev.c MpInitLib: Only allocate below 1MB memory for 16bit code 2022-06-10 12:15:49 +00:00
DxeMpInitLib.inf UefiCpuPkg: Revert "UefiCpuPkg: Enable Tdx support in MpInitLib" 2022-05-11 08:40:53 +00:00
DxeMpInitLib.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
DxeMpLib.c MpInitLib: Allocate code buffer for PEI phase 2022-06-10 12:15:49 +00:00
Microcode.c UefiCpuPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
MpEqu.inc MpInitLib: Only allocate below 1MB memory for 16bit code 2022-06-10 12:15:49 +00:00
MpLib.c MpInitLib: Move the Above1Mb vector allocation to MpInitLibInitialize 2022-06-10 12:15:49 +00:00
MpLib.h MpInitLib: Put SEV logic in separate file 2022-06-10 12:15:49 +00:00
PeiMpInitLib.inf UefiCpuPkg: Revert "UefiCpuPkg: Enable Tdx support in MpInitLib" 2022-05-11 08:40:53 +00:00
PeiMpInitLib.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PeiMpLib.c MpInitLib: Allocate code buffer for PEI phase 2022-06-10 12:15:49 +00:00