audk/UefiCpuPkg/Library
Jeff Fan 4d3314f694 UefiCpuPkg/MpInitLib: Place APs in safe loop before hand-off to OS
Register Exit Boot Service callback function MpInitExitBootServicesCallback() to
place AP one safe loop before hand-off to OS.

Allocated one reserved memory and copy the AsmRellocateApLoop() code into it. It
could avoid the CPU Dxe driver (located in Boot Service data range) crashed
after Exit Boot Service event.
Place AP into the target Cx-State (specified by PcdCpuApTargetCstate) could save
power if Monitor-mwait feature supported.
In long mode, switch AP into protected mode could let AP not require page table
when executing this safe loop. Page Table (located in Boot Service data range)
may crashed after Exit Boot Service event.

v3:
  1. Rename *RellocateAp* to *RelocateAp*

Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Michael Kinney <michael.d.kinney@intel.com>
2016-08-17 20:02:39 +08:00
..
BaseUefiCpuLib UefiCpuPkg BaseUefiCpuLib: Add nasm source file in BaseUefiCpuLib.inf 2016-06-28 09:52:08 +08:00
BaseXApicLib UefiCpuPkg/LocalApic.h: Remove duplicated/conflicted definitions 2016-08-17 19:54:41 +08:00
BaseXApicX2ApicLib UefiCpuPkg/LocalApic.h: Remove duplicated/conflicted definitions 2016-08-17 19:54:41 +08:00
CpuExceptionHandlerLib UefiCpuPkg CpuExceptionHandlerLib: Add nasm source files into INF files. 2016-06-28 09:52:10 +08:00
MpInitLib UefiCpuPkg/MpInitLib: Place APs in safe loop before hand-off to OS 2016-08-17 20:02:39 +08:00
MtrrLib UefiCpuPkg/MtrrLib: Add notes for usage by BSP/APs 2016-07-20 11:13:02 +08:00
PlatformSecLibNull UefiCpuPkg: Convert all .uni files to utf-8 2015-12-15 04:59:14 +00:00
SecPeiDxeTimerLibUefiCpu UefiCpuPkg: Convert all .uni files to utf-8 2015-12-15 04:59:14 +00:00
SmmCpuFeaturesLib UefiCpuPkg/SmmCpuFeaturesLib: Add SMRR PhysBase/PhysMask fields check 2016-05-19 10:04:27 -07:00
SmmCpuPlatformHookLibNull UefiCpuPkg: Convert all .uni files to utf-8 2015-12-15 04:59:14 +00:00