The purpose of this patch series is to put the AP in 64-bit mode before handing off the boot process to the OS. To do this, duplicate relocateApLoop for processors with SEV-ES, allocate contiguous memory, then create page tables and keep AP in 64-bit mode.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4234 Yuanhao Xie (6): UefiCpuPkg: Move AsmRelocateApLoop to AmdSev.nasm. UefiCpuPkg: Duplicate AsmRelocateApLoopAmd. UefiCpuPkg: Contiguous memory allocation and code clean-up. OvmfPkg: Add CpuPageTableLib required by MpInitLib. UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib. UefiCpuPkg: Put APs in 64 bit mode before handoff to OS. OvmfPkg/AmdSev/AmdSevX64.dsc | 3 ++- OvmfPkg/CloudHv/CloudHvX64.dsc | 3 ++- OvmfPkg/IntelTdx/IntelTdxX64.dsc | 4 +++- OvmfPkg/Microvm/MicrovmX64.dsc | 3 ++- OvmfPkg/OvmfPkgIa32X64.dsc | 3 ++- OvmfPkg/OvmfPkgX64.dsc | 4 +++- OvmfPkg/OvmfXen.dsc | 3 ++- UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf | 6 +++++- UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------ UefiCpuPkg/Library/MpInitLib/Ia32/CreatePageTable.c | 23 +++++++++++++++++++++++ UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm | 11 ++++------- UefiCpuPkg/Library/MpInitLib/MpEqu.inc | 22 ++++++++++++---------- UefiCpuPkg/Library/MpInitLib/MpLib.h | 46 ++++++++++++++++++++++++++++++++++++++++++++-- UefiCpuPkg/Library/MpInitLib/X64/AmdSev.nasm | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ UefiCpuPkg/Library/MpInitLib/X64/CreatePageTable.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm | 178 ++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------- UefiCpuPkg/UefiCpuPkg.dsc | 3 ++- UefiPayloadPkg/UefiPayloadPkg.dsc | 3 ++- 18 files changed, 486 insertions(+), 241 deletions(-) create mode 100644 UefiCpuPkg/Library/MpInitLib/Ia32/CreatePageTable.c create mode 100644 UefiCpuPkg/Library/MpInitLib/X64/CreatePageTable.c -- 2.36.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100458): https://edk2.groups.io/g/devel/message/100458 Mute This Topic: https://groups.io/mt/97188905/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-