From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web11.6234.1622799752851371587 for ; Fri, 04 Jun 2021 02:42:33 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: B60P6x1Qb6XgHlXPHp7w32+hQcgtyYpzh2m5m54kDZioQ5SwHLWvRfx+64IedrInWk80ZycXVv 1PXwCjEFSoOQ== X-IronPort-AV: E=McAfee;i="6200,9189,10004"; a="202401886" X-IronPort-AV: E=Sophos;i="5.83,248,1616482800"; d="scan'208";a="202401886" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jun 2021 02:42:30 -0700 IronPort-SDR: 3LjlDAzh8BCUdl8H4tGWWCUja4GNi8hxl480S3yK0156UW4lcDszkZU530WCHuNL1Xp/1ik47q 0jU3cdiKec9g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,248,1616482800"; d="scan'208";a="448203527" Received: from fieedk002.ccr.corp.intel.com ([10.239.158.144]) by fmsmga008.fm.intel.com with ESMTP; 04 Jun 2021 02:42:29 -0700 From: "Zhiguang Liu" To: devel@edk2.groups.io Subject: [Patch V3 0/9] Create multiple Hobs for Universal Payload Date: Fri, 4 Jun 2021 17:42:18 +0800 Message-Id: <20210604094227.1890-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 All changes can be seen at https://github.com/LiuZhiguang001/edk2/tree/UniversalPayloadHeaders_v3 Zhiguang Liu (9): MdeModulePkg: Add Universal Payload general defination 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 | 28 ++++++++++++++++++++++++++++ MdeModulePkg/Include/UniversalPayload/PciRootBridges.h | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ MdeModulePkg/Include/UniversalPayload/SmbiosTable.h | 28 ++++++++++++++++++++++++++++ MdeModulePkg/Include/UniversalPayload/UniversalPayload.h | 33 +++++++++++++++++++++++++++++++++ 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 | 320 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h | 4 +++- 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, 986 insertions(+), 88 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