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.4111.1623826792723508227 for ; Tue, 15 Jun 2021 23:59:52 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: ray.ni@intel.com) IronPort-SDR: Hop0rp34idHgAtH/OEEtGpr+RUBZvZYkhwvl8eQLW29ynYI/4zmtQd7BhI7EdMXHZ6UYbUVIqm UQcFAyu37D9Q== X-IronPort-AV: E=McAfee;i="6200,9189,10016"; a="267274876" X-IronPort-AV: E=Sophos;i="5.83,277,1616482800"; d="scan'208";a="267274876" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jun 2021 23:59:51 -0700 IronPort-SDR: +Vg3yZNXncvNXfp0EeYBCeFBmOZvAUDTUg2/wM6j/mBIMyiN6VLWCqMQAQiRmgjtIgRvJAqu3D nhrAMEkFiF1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,277,1616482800"; d="scan'208";a="488055258" Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by fmsmga002.fm.intel.com with ESMTP; 15 Jun 2021 23:59:50 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Subject: [PATCH v3 0/3] Add PayloadLoaderPeim which can load ELF payload Date: Wed, 16 Jun 2021 14:59:19 +0800 Message-Id: <20210616065922.196-1-ray.ni@intel.com> X-Mailer: git-send-email 2.31.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit v3: Change PLD_ to UNIVERSAL_PAYLOAD_ based on Mike's comments. v2: Separate the patch set from the patch that adds CLANGDWARF toolchain. Add missing function header commments. Change DEBUG_ERROR to DEBUG_INFO for information debug message. Ray Ni (3): MdeModulePkg/UniversalPayload: Add definition for extra info in payload UefiPayloadPkg: Add PayloadLoaderPeim which can load ELF payload PeiCore: Remove assertion when failing to load PE image MdeModulePkg/Core/Pei/Image/Image.c | 5 +- .../Include/UniversalPayload/ExtraData.h | 28 + .../UniversalPayload/UniversalPayload.h | 24 + MdeModulePkg/MdeModulePkg.dec | 3 + UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h | 122 +++ .../PayloadLoaderPeim/ElfLib/Elf32.h | 252 +++++ .../PayloadLoaderPeim/ElfLib/Elf32Lib.c | 451 ++++++++ .../PayloadLoaderPeim/ElfLib/Elf64.h | 254 +++++ .../PayloadLoaderPeim/ElfLib/Elf64Lib.c | 460 ++++++++ .../PayloadLoaderPeim/ElfLib/ElfCommon.h | 983 ++++++++++++++++++ .../PayloadLoaderPeim/ElfLib/ElfLib.c | 473 +++++++++ .../PayloadLoaderPeim/ElfLib/ElfLibInternal.h | 109 ++ .../PayloadLoaderPeim/PayloadLoaderPeim.c | 187 ++++ .../PayloadLoaderPeim/PayloadLoaderPeim.inf | 59 ++ 14 files changed, 3406 insertions(+), 4 deletions(-) create mode 100644 MdeModulePkg/Include/UniversalPayload/ExtraData.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf32Lib.c create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/Elf64Lib.c create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfCommon.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLib.c create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/ElfLib/ElfLibInternal.h create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.c create mode 100644 UefiPayloadPkg/PayloadLoaderPeim/PayloadLoaderPeim.inf -- 2.31.1.windows.1