Re: [PATCH V2 0/1] UefiPayloadPkg: Remove PEI phase from Payload


Patrick Rudolph
 

Hello,
This is a gentle reminder to merge this change to get a broader
feedback from the community using the UefiPayloadPkg.

Kind regards,
Patrick Rudolph
B.Sc. Electrical Engineering
System Firmware Developer

Patrick Rudolph
B.Sc. Electrical Engineering
System Firmware Developer


9elements GmbH, Kortumstraße 19-21, 44787 Bochum, Germany
Email: patrick.rudolph@9elements.com
Phone: +49 234 68 94 188

Sitz der Gesellschaft: Bochum
Handelsregister: Amtsgericht Bochum, HRB 17519
Geschäftsführung: Sebastian Deutsch, Eray Basar

Datenschutzhinweise nach Art. 13 DSGVO


Am Di., 17. Nov. 2020 um 20:47 Uhr schrieb Guo Dong <guo.dong@intel.com>:



Thanks Liming. If so it is OK to merge it after this stable tag.

Thanks,
Guo

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming
Sent: Monday, November 16, 2020 5:49 PM
To: devel@edk2.groups.io; Dong, Guo <guo.dong@intel.com>
Cc: Ma, Maurice <maurice.ma@intel.com>; You, Benjamin
<benjamin.you@intel.com>
Subject: 回复: [edk2-devel] [PATCH V2 0/1] UefiPayloadPkg: Remove PEI phase
from Payload

Guo:
This is a feature. So, please submit BZ for it.

And, the first version patch is sent before soft feature freeze, and got
comments.
Then, the second version patch is sent and got reviewed after soft feature
freeze.

Based on
https://github.com/tianocore/tianocore.github.io/wiki/SoftFeatureFreeze,
this patch can't catch this stable tag.

If you really want to catch this patch for this stable tag, please specify
your reason.
I will collect the community feedback and decide whether delay this stable
tag.

Thanks
Liming
-----邮件原件-----
发件人: bounce+27952+67620+4905953+8761045@groups.io
<bounce+27952+67620+4905953+8761045@groups.io> 代表 Guo Dong
发送时间: 2020年11月17日 5:59
收件人: devel@edk2.groups.io; Dong, Guo <guo.dong@intel.com>; gaoliming
<gaoliming@byosoft.com.cn>
抄送: Ma, Maurice <maurice.ma@intel.com>; You, Benjamin
<benjamin.you@intel.com>
主题: Re: [edk2-devel] [PATCH V2 0/1] UefiPayloadPkg: Remove PEI phase
from Payload


Hi Liming,

This patch is sent before the soft freeze and passed review.
I would like to merge this patch into edk2-stable202011 tomorrow if there
is
no additional feedback.

And here is the PR and it passed all CI checks.
https://github.com/tianocore/edk2/pull/1127

Thanks,
Guo


-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Guo
Dong
Sent: Sunday, November 15, 2020 5:35 PM
To: devel@edk2.groups.io
Cc: Ma, Maurice <maurice.ma@intel.com>; You, Benjamin
<benjamin.you@intel.com>
Subject: [edk2-devel] [PATCH V2 0/1] UefiPayloadPkg: Remove PEI phase
from
Payload

Hi All,

This patch removed UEFI payload PEI phase to make UEFI payload simple.
It uses UefiPayloadEntry module to bridge bootloader and DXE phase.

Original DSC files UefiPayloadIa32.dsc and UefiPayloadIa32X64.dsc
are replaced by a single DSC UefiPayloadPkg.dsc. Pure IA32 support
is replaced by Pure X64 support. IA32 Entry point with X64 DXE phase
is still supported.

Changes in V2:
Addressed all the review comments from Maurice.
Fixed debug msg in UefiPayloadEntry.
Updated the Handoff HOB to DXE core to include Payload FV.
Synced the GHCB changes from DxeIpl to UefiPayloadEntry.

V1:
It is not necessary to have a PEI phase in the UEFI payload since no
specific PEI task is required. This patch adds a UefiPayloadEntry
driver to get UEFI Payload required information from the bootloaders,
convert them into a HOB list, load DXE core and transfer control to it.

Here is the change details:
1) Removed PEI phase, including Peicore, BlSupportPei, SecCore, etc.
2) Added UefiPayloadEntry driver. this is the only driver before DXE
core.
3) Added Pure X64 support, dropped Pure IA32 (Could add later if
required)
64bit payload with 32bit entry point is still supported.
4) Use one DSC file UefiPayloadPkg.dsc to support X64 and IA32X64 build.
Removed UefiPayloadIa32.dsc and UefiPayloadIa32X64.dsc

Tested with SBL and coreboot on QEMU.

Refs: https://github.com/tianocore/edk2/pull/1127

CC: maurice.ma@intel.com
CC: benjamin.you@intel.com
Signed-off-by: Guo Dong <guo.dong@intel.com>

Guo Dong (1):
UefiPayloadPkg: Remove PEI phase from Payload

UefiPayloadPkg/BlSupportPei/BlSupportPei.h | 39 -
UefiPayloadPkg/BlSupportPei/BlSupportPei.inf | 73 --
UefiPayloadPkg/BuildAndIntegrationInstructions.txt | 32 +-
UefiPayloadPkg/Include/Library/BlParseLib.h | 4 +-
UefiPayloadPkg/Library/HobLib/Hob.c | 706
++++++++++++++++
UefiPayloadPkg/Library/HobLib/HobLib.inf | 39 +
UefiPayloadPkg/SecCore/FindPeiCore.c | 193 -----
UefiPayloadPkg/SecCore/Ia32/SecEntry.nasm | 78 --
UefiPayloadPkg/SecCore/Ia32/Stack.nasm | 72 --
UefiPayloadPkg/SecCore/SecCore.inf | 58 --
UefiPayloadPkg/SecCore/SecMain.c | 288 -------
UefiPayloadPkg/SecCore/SecMain.h | 131 ---
UefiPayloadPkg/UefiPayloadEntry/Ia32/DxeLoadFunc.c | 365 ++++++++
.../UefiPayloadEntry/Ia32/IdtVectorAsm.nasm | 71 ++
UefiPayloadPkg/UefiPayloadEntry/Ia32/SecEntry.nasm | 46 +
UefiPayloadPkg/UefiPayloadEntry/LoadDxeCore.c | 307 +++++++
UefiPayloadPkg/UefiPayloadEntry/MemoryAllocation.c | 201 +++++
.../UefiPayloadEntry.c} | 451 ++++------
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 134 +++
.../UefiPayloadEntry/UefiPayloadEntry.inf | 93 ++
UefiPayloadPkg/UefiPayloadEntry/X64/DxeLoadFunc.c | 107 +++
UefiPayloadPkg/UefiPayloadEntry/X64/SecEntry.nasm | 47 ++
.../UefiPayloadEntry/X64/VirtualMemory.c | 939
+++++++++++++++++++++
.../UefiPayloadEntry/X64/VirtualMemory.h | 330 ++++++++
UefiPayloadPkg/UefiPayloadPkg.dec | 5 +-
...efiPayloadPkgIa32X64.dsc => UefiPayloadPkg.dsc} | 57 +-
UefiPayloadPkg/UefiPayloadPkg.fdf | 32 +-
UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 585
-------------
28 files changed, 3576 insertions(+), 1907 deletions(-)
delete mode 100644 UefiPayloadPkg/BlSupportPei/BlSupportPei.h
delete mode 100644 UefiPayloadPkg/BlSupportPei/BlSupportPei.inf
create mode 100644 UefiPayloadPkg/Library/HobLib/Hob.c
create mode 100644 UefiPayloadPkg/Library/HobLib/HobLib.inf
delete mode 100644 UefiPayloadPkg/SecCore/FindPeiCore.c
delete mode 100644 UefiPayloadPkg/SecCore/Ia32/SecEntry.nasm
delete mode 100644 UefiPayloadPkg/SecCore/Ia32/Stack.nasm
delete mode 100644 UefiPayloadPkg/SecCore/SecCore.inf
delete mode 100644 UefiPayloadPkg/SecCore/SecMain.c
delete mode 100644 UefiPayloadPkg/SecCore/SecMain.h
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/Ia32/DxeLoadFunc.c
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/Ia32/IdtVectorAsm.nasm
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/Ia32/SecEntry.nasm
create mode 100644 UefiPayloadPkg/UefiPayloadEntry/LoadDxeCore.c
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/MemoryAllocation.c
rename UefiPayloadPkg/{BlSupportPei/BlSupportPei.c =>
UefiPayloadEntry/UefiPayloadEntry.c} (52%)
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/X64/DxeLoadFunc.c
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/X64/SecEntry.nasm
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c
create mode 100644
UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.h
rename UefiPayloadPkg/{UefiPayloadPkgIa32X64.dsc =>
UefiPayloadPkg.dsc}
(90%)
delete mode 100644 UefiPayloadPkg/UefiPayloadPkgIa32.dsc

--
2.16.2.windows.1
















Join devel@edk2.groups.io to automatically receive all group messages.