audk/UefiCpuPkg/Library/MpInitLib
Jeff Fan 3ed4e502b5 UefiCpuPkg/MpInitLib: Don't allocate reset vector in Exit Boot Service
In Exit Boot Services callback function, we cannot use allocate memory services
because it may change the memory map that has been gotten by OS.

This fix is not to allocate reset vector buffer after SaveRestoreFlag is set to
TRUE in MpInitExitBootServicesCallback(). Instead AllocateResetVector() will use
the previous allocated buffer address and save the contents before copying reset
vector code. At the same time, FreeResetVector() will restore original contents
after if SaveRestoreFlag is TRUE.

Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
2016-08-25 16:12:55 +08:00
..
Ia32 UefiCpuPkg/MpInitLib: Add MP_ASSEMBLY_ADDRESS_MAP 2016-08-17 19:59:01 +08:00
X64 UefiCpuPkg/MpInitLib: Add MP_ASSEMBLY_ADDRESS_MAP 2016-08-17 19:59:01 +08:00
DxeMpInitLib.inf UefiCpuPkg/MpInitLib: Add MicrocodeDetect() and load microcode on BSP 2016-08-17 20:00:23 +08:00
DxeMpInitLib.uni
DxeMpLib.c UefiCpuPkg/MpInitLib: Don't allocate reset vector in Exit Boot Service 2016-08-25 16:12:55 +08:00
Microcode.c UefiCpuPkg/MpInitLib: Fix function header comments typo 2016-08-25 16:12:46 +08:00
MpLib.c UefiCpuPkg/MpInitLib: Move two functions location 2016-08-25 16:12:50 +08:00
MpLib.h UefiCpuPkg/MpInitLib: Move two functions location 2016-08-25 16:12:50 +08:00
PeiMpInitLib.inf UefiCpuPkg/MpInitLib: Add MicrocodeDetect() and load microcode on BSP 2016-08-17 20:00:23 +08:00
PeiMpInitLib.uni
PeiMpLib.c UefiCpuPkg/MpInitLib: Move two functions location 2016-08-25 16:12:50 +08:00