[edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff to OS.

Yuanhao Xie posted 6 patches 1 year, 1 month ago
Failed in applying to current master (apply log)
There is a newer version of this series
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
[edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff to OS.
Posted by Yuanhao Xie 1 year, 1 month ago
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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff to OS.
Posted by Ni, Ray 1 year, 1 month ago
Yuanhao,
What changes have been made in V3 comparing against V2?

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of
> Yuanhao Xie
> Sent: Friday, February 24, 2023 2:05 AM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff
> to OS.
> 
> 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 (#100476): https://edk2.groups.io/g/devel/message/100476
Mute This Topic: https://groups.io/mt/97188905/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/3901457/1787277/102458076/xyzzy [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff to OS.
Posted by Yuanhao Xie 1 year, 1 month ago
Hi Ray,

The first patch(v2) are separated into 2 patches(v3).

Regards,
Yuanhao

-----Original Message-----
From: Ni, Ray <ray.ni@intel.com> 
Sent: Friday, February 24, 2023 8:27 AM
To: devel@edk2.groups.io; Xie, Yuanhao <yuanhao.xie@intel.com>
Subject: RE: [edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before handoff to OS.

Yuanhao,
What changes have been made in V3 comparing against V2?

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yuanhao 
> Xie
> Sent: Friday, February 24, 2023 2:05 AM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] [Patch V3 0/6] Put APs in 64 bit mode before 
> handoff to OS.
> 
> 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 (#100480): https://edk2.groups.io/g/devel/message/100480
Mute This Topic: https://groups.io/mt/97188905/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-