summaryrefslogtreecommitdiff
path: root/UefiCpuPkg/CpuMpPei/X64
diff options
context:
space:
mode:
authorJeff Fan <jeff.fan@intel.com>2016-07-24 23:03:12 +0800
committerJeff Fan <jeff.fan@intel.com>2016-08-17 20:02:39 +0800
commit4d3314f694881f4a4a53636515da144230f1d913 (patch)
treee7d0a04b1095a05a54a55191b226cc6b3099804b /UefiCpuPkg/CpuMpPei/X64
parent86efe97693a218349778727c7976cb5f584fb5f1 (diff)
downloadedk2-platforms-4d3314f694881f4a4a53636515da144230f1d913.tar.xz
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>
Diffstat (limited to 'UefiCpuPkg/CpuMpPei/X64')
0 files changed, 0 insertions, 0 deletions