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


Zhiguang Liu
 

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