[Patch V4 0/9] Create multiple Hobs for Universal Payload


Zhiguang Liu
 

Liming,

Bugzilla is created at https://bugzilla.tianocore.org/show_bug.cgi?id=3447

Thanks
Zhiguang

-----Original Message-----
From: gaoliming <gaoliming@byosoft.com.cn>
Sent: Thursday, June 10, 2021 5:14 PM
To: devel@edk2.groups.io; Liu, Zhiguang <zhiguang.liu@intel.com>
Subject: 回复: [edk2-devel] [Patch V4 0/9] Create multiple Hobs for Universal
Payload

Zhiguang:
Can you submit one BZ for this new feature? I will add it into edk2 202108
stable tag planning.

Thanks
Liming
-----邮件原件-----
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Zhiguang Liu
发送时间: 2021年6月10日 9:33
收件人: devel@edk2.groups.io
主题: [edk2-devel] [Patch V4 0/9] Create multiple Hobs for Universal
Payload

V1:
This patch set is based on Universal Payload on
https://universalpayload.github.io/documentation/payload-
interfaces/index.
html
This patch set introduce one general header, three different hob types
and how Universal Payload consume these hobs.

V2:
Move all the header files and Guid define to MdeModulePkg Fix code bug
when parsing SmbiosDxe.
Enhance error handling in AcpiTableProtocol.c.
Add AcpiTableDxe.inf in UefiPayload.fdf

V3:
Avoid duplicated code in SmBiosDxe.c

V4:
Add link to spec in header files' file comments Avoid using PLD,
because it may be confusing

All changes can be seen at
https://github.com/LiuZhiguang001/edk2/tree/UniversalPayloadHeaders_v4

Zhiguang Liu (9):
MdeModulePkg: Add Universal Payload general definition header file
MdeModulePkg: Add new structure for the PCI Root Bridge Info Hob
UefiPayloadPkg: UefiPayload retrieve PCI root bridge from Guid Hob
MdeModulePkg: Add new structure for the Universal Payload SMBios
Table
Info Hob
MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables
UefiPayloadPkg: Creat gPldSmbiosTableGuid Hob
MdeModulePkg: Add new structure for the Universal Payload ACPI Table
Info Hob
MdeModulePkg/ACPI: Install ACPI table from HOB.
UefiPayloadPkg: Creat gPldAcpiTableGuid Hob

MdeModulePkg/Include/UniversalPayload/AcpiTable.h |
30 ++++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/PciRootBridges.h |
91
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
+++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/SmbiosTable.h |
30 ++++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/UniversalPayload.h |
35 +++++++++++++++++++++++++++++++++++
MdeModulePkg/MdeModulePkg.dec
| 15 +++++++++++++++
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiSdt.c |
92
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
+++---------------------------
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTable.h |
38 +++++++++++++++++++++++++++++++++++++-
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf | 8
+++++---
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 171
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++-------
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c |
293
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++-
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h |
65
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++-
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf |
5 ++++-
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c |
28 +---------------------------
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h |
5 +----
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf |
4 +---
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridge.h | 40
++++++++++++++++++++++++++++++++++++++--
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 47
++++++++++++++++++++++++++++++++++++++++++++---
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8
+++++++-
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeSupport.c | 73
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++-
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 23
++++++++++++++++++++++-
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 5
+++--
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 4
+++-
UefiPayloadPkg/UefiPayloadPkg.dsc |
2 +-
UefiPayloadPkg/UefiPayloadPkg.fdf |
4 ++++
24 files changed, 1029 insertions(+), 87 deletions(-) create mode
100644 MdeModulePkg/Include/UniversalPayload/AcpiTable.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/PciRootBridges.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/SmbiosTable.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/UniversalPayload.h

--
2.30.0.windows.2





Patrick Rudolph
 

Tested the patch series on Intel Coffee Lake Platform using latest
coreboot master.
Everything seems to work fine.

Thanks
Patrick

On Thu, Jun 10, 2021 at 11:48 AM Zhiguang Liu <zhiguang.liu@intel.com> wrote:

Liming,

Bugzilla is created at https://bugzilla.tianocore.org/show_bug.cgi?id=3447

Thanks
Zhiguang

-----Original Message-----
From: gaoliming <gaoliming@byosoft.com.cn>
Sent: Thursday, June 10, 2021 5:14 PM
To: devel@edk2.groups.io; Liu, Zhiguang <zhiguang.liu@intel.com>
Subject: 回复: [edk2-devel] [Patch V4 0/9] Create multiple Hobs for Universal
Payload

Zhiguang:
Can you submit one BZ for this new feature? I will add it into edk2 202108
stable tag planning.

Thanks
Liming
-----邮件原件-----
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Zhiguang Liu
发送时间: 2021年6月10日 9:33
收件人: devel@edk2.groups.io
主题: [edk2-devel] [Patch V4 0/9] Create multiple Hobs for Universal
Payload

V1:
This patch set is based on Universal Payload on
https://universalpayload.github.io/documentation/payload-
interfaces/index.
html
This patch set introduce one general header, three different hob types
and how Universal Payload consume these hobs.

V2:
Move all the header files and Guid define to MdeModulePkg Fix code bug
when parsing SmbiosDxe.
Enhance error handling in AcpiTableProtocol.c.
Add AcpiTableDxe.inf in UefiPayload.fdf

V3:
Avoid duplicated code in SmBiosDxe.c

V4:
Add link to spec in header files' file comments Avoid using PLD,
because it may be confusing

All changes can be seen at
https://github.com/LiuZhiguang001/edk2/tree/UniversalPayloadHeaders_v4

Zhiguang Liu (9):
MdeModulePkg: Add Universal Payload general definition header file
MdeModulePkg: Add new structure for the PCI Root Bridge Info Hob
UefiPayloadPkg: UefiPayload retrieve PCI root bridge from Guid Hob
MdeModulePkg: Add new structure for the Universal Payload SMBios
Table
Info Hob
MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables
UefiPayloadPkg: Creat gPldSmbiosTableGuid Hob
MdeModulePkg: Add new structure for the Universal Payload ACPI Table
Info Hob
MdeModulePkg/ACPI: Install ACPI table from HOB.
UefiPayloadPkg: Creat gPldAcpiTableGuid Hob

MdeModulePkg/Include/UniversalPayload/AcpiTable.h |
30 ++++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/PciRootBridges.h |
91
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
+++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/SmbiosTable.h |
30 ++++++++++++++++++++++++++++++
MdeModulePkg/Include/UniversalPayload/UniversalPayload.h |
35 +++++++++++++++++++++++++++++++++++
MdeModulePkg/MdeModulePkg.dec
| 15 +++++++++++++++
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiSdt.c |
92
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
+++---------------------------
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTable.h |
38 +++++++++++++++++++++++++++++++++++++-
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf | 8
+++++---
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 171
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++-------
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c |
293
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++++++++++++++++++++++++++++++++++++-
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h |
65
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++-
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf |
5 ++++-
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.c |
28 +---------------------------
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.h |
5 +----
UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf |
4 +---
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridge.h | 40
++++++++++++++++++++++++++++++++++++++--
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.c | 47
++++++++++++++++++++++++++++++++++++++++++++---
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf | 8
+++++++-
UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeSupport.c | 73
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++
++++++++++-
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c | 23
++++++++++++++++++++++-
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h | 5
+++--
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf | 4
+++-
UefiPayloadPkg/UefiPayloadPkg.dsc |
2 +-
UefiPayloadPkg/UefiPayloadPkg.fdf |
4 ++++
24 files changed, 1029 insertions(+), 87 deletions(-) create mode
100644 MdeModulePkg/Include/UniversalPayload/AcpiTable.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/PciRootBridges.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/SmbiosTable.h
create mode 100644
MdeModulePkg/Include/UniversalPayload/UniversalPayload.h

--
2.30.0.windows.2