From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.6677.1623748344186372884 for ; Tue, 15 Jun 2021 02:12:24 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: zhiguang.liu@intel.com) IronPort-SDR: iMslEvVDwcS2KD9BpOCZEIgPjElRBt/uG7Zd2ka5rt2yb8K9JKrmPJFyZGgKZ4JWWKc1h9bwc1 Q6DXATDorWxw== X-IronPort-AV: E=McAfee;i="6200,9189,10015"; a="185647601" X-IronPort-AV: E=Sophos;i="5.83,275,1616482800"; d="scan'208";a="185647601" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2021 02:12:22 -0700 IronPort-SDR: 9eZFvvNFD01psbCk8p/0V2Omfhv2VXSKUJ2IJ8/JcViDWUEfp6WXXYdjjO5DJk+vJDiFIifkSD MmGhQqsfmQmA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,275,1616482800"; d="scan'208";a="487713137" Received: from fieedk002.ccr.corp.intel.com ([10.239.158.144]) by fmsmga002.fm.intel.com with ESMTP; 15 Jun 2021 02:12:22 -0700 From: "Zhiguang Liu" To: devel@edk2.groups.io Subject: [Patch V5 0/9] Create multiple Hobs for Universal Payload Date: Tue, 15 Jun 2021 17:12:02 +0800 Message-Id: <20210615091211.801-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 V5: Add ExceptionList in MdeModulePkg\MdeModulePkg.ci.yaml, in MdeModulePkg: Add new structure for the PCI Root Bridge Info Hob 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 Hob MdeModulePkg/Universal/SmbiosDxe: Scan for existing tables UefiPayloadPkg: Create gUniversalPayloadSmbiosTableGuid Hob MdeModulePkg: Add new structure for the Universal Payload ACPI Table Hob MdeModulePkg/ACPI: Install ACPI table from HOB. UefiPayloadPkg: Create gUniversalPayloadAcpiTableGuid 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.ci.yaml | 2 ++ 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 ++++ 25 files changed, 1031 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