UefiCpuPkg: Put APs in 64 bit mode before handoff to OS.
Add the 'AsmRelocateApLoopStartGeneric' for X64 processors except 64-bit AMD processors with SEV-ES. Remove the unused arguments of AsmRelocateApLoopStartGeneric, updated the stack offset. Create PageTable for the allocated reserved memory. Only keep 4GB limitation of memory allocation for the case APs still need to be transferred to 32-bit mode before OS. Cc: Guo Dong <guo.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Sean Rhodes <sean@starlabs.systems> Cc: James Lu <james.lu@intel.com> Cc: Gua Guo <gua.guo@intel.com> Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Tested-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
6bc74286e7
commit
facf52aeb8
@@ -1,7 +1,7 @@
|
||||
## @file
|
||||
# MP Initialize Library instance for DXE driver.
|
||||
#
|
||||
# Copyright (c) 2016 - 2021, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2016 - 2023, Intel Corporation. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
##
|
||||
@@ -24,10 +24,12 @@
|
||||
[Sources.IA32]
|
||||
Ia32/AmdSev.c
|
||||
Ia32/MpFuncs.nasm
|
||||
Ia32/CreatePageTable.c
|
||||
|
||||
[Sources.X64]
|
||||
X64/AmdSev.c
|
||||
X64/MpFuncs.nasm
|
||||
X64/CreatePageTable.c
|
||||
|
||||
[Sources.common]
|
||||
AmdSev.c
|
||||
@@ -56,6 +58,8 @@
|
||||
PcdLib
|
||||
CcExitLib
|
||||
MicrocodeLib
|
||||
[LibraryClasses.X64]
|
||||
CpuPageTableLib
|
||||
|
||||
[Protocols]
|
||||
gEfiTimerArchProtocolGuid ## SOMETIMES_CONSUMES
|
||||
|
Reference in New Issue
Block a user