From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.4374.1623288826156455282 for ; Wed, 09 Jun 2021 18:33:46 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: S/E+CXqNboh+tPU69sDiRcaOHrmas9Tsv6UwdLqRSMIoCzUQKeSJiNPItYMFVgJwN4gIMmF5Rl NNmNDzDwme+w== X-IronPort-AV: E=McAfee;i="6200,9189,10010"; a="266359677" X-IronPort-AV: E=Sophos;i="5.83,262,1616482800"; d="scan'208";a="266359677" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2021 18:33:45 -0700 IronPort-SDR: /Sh2vTn57LslF6BRpFV1PZFNbGvFaAemgThvUrg342PjQjbO9SC3dQeVcJRtWECtCPVt5l50Hz pHPNmz8veZ0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,262,1616482800"; d="scan'208";a="402630945" Received: from fieedk002.ccr.corp.intel.com ([10.239.158.144]) by orsmga003.jf.intel.com with ESMTP; 09 Jun 2021 18:33:44 -0700 From: "Zhiguang Liu" To: devel@edk2.groups.io Subject: [Patch V4 0/9] Create multiple Hobs for Universal Payload Date: Thu, 10 Jun 2021 09:33:09 +0800 Message-Id: <20210610013318.1885-1-zhiguang.liu@intel.com> X-Mailer: git-send-email 2.30.0.windows.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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