REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2008 MpInitLib is the library that's responsible to wake up APs to provide MP PPI and Protocol services. The patch synchronizes BSP's CR4.LA57 to each AP's CR4.LA57. Without this change, AP may enter to GP fault when BSP's 5-level page table is set to AP during AP wakes up. Signed-off-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Eric Dong <eric.dong@intel.com>
44 lines
2.0 KiB
PHP
44 lines
2.0 KiB
PHP
;------------------------------------------------------------------------------ ;
|
|
; Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
; SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
;
|
|
; Module Name:
|
|
;
|
|
; MpEqu.inc
|
|
;
|
|
; Abstract:
|
|
;
|
|
; This is the equates file for Multiple Processor support
|
|
;
|
|
;-------------------------------------------------------------------------------
|
|
|
|
VacantFlag equ 00h
|
|
NotVacantFlag equ 0ffh
|
|
|
|
CPU_SWITCH_STATE_IDLE equ 0
|
|
CPU_SWITCH_STATE_STORED equ 1
|
|
CPU_SWITCH_STATE_LOADED equ 2
|
|
|
|
LockLocation equ (RendezvousFunnelProcEnd - RendezvousFunnelProcStart)
|
|
StackStartAddressLocation equ LockLocation + 08h
|
|
StackSizeLocation equ LockLocation + 10h
|
|
ApProcedureLocation equ LockLocation + 18h
|
|
GdtrLocation equ LockLocation + 20h
|
|
IdtrLocation equ LockLocation + 2Ah
|
|
BufferStartLocation equ LockLocation + 34h
|
|
ModeOffsetLocation equ LockLocation + 3Ch
|
|
ApIndexLocation equ LockLocation + 44h
|
|
CodeSegmentLocation equ LockLocation + 4Ch
|
|
DataSegmentLocation equ LockLocation + 54h
|
|
EnableExecuteDisableLocation equ LockLocation + 5Ch
|
|
Cr3Location equ LockLocation + 64h
|
|
InitFlagLocation equ LockLocation + 6Ch
|
|
CpuInfoLocation equ LockLocation + 74h
|
|
NumApsExecutingLocation equ LockLocation + 7Ch
|
|
InitializeFloatingPointUnitsAddress equ LockLocation + 8Ch
|
|
ModeTransitionMemoryLocation equ LockLocation + 94h
|
|
ModeTransitionSegmentLocation equ LockLocation + 98h
|
|
ModeHighMemoryLocation equ LockLocation + 9Ah
|
|
ModeHighSegmentLocation equ LockLocation + 9Eh
|
|
Enable5LevelPagingLocation equ LockLocation + 0A0h
|