From nobody Mon Feb 9 00:37:31 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+76009+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76009+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1622701405; cv=none; d=zohomail.com; s=zohoarc; b=asufzT3abC98SS+PoZUMMEX2hc5VTv7IQ2yw7v1vlnboRwzV3Q31sh59DN9gKN/xHF6GGNRmQvMZ8GzgDP3inxQKISnJyRjuMQbAmth0DhMwGDjEqrDiistPr3KWEVmh5T/oaF3rQvM97uK0g7OTdAQ9vyij5+rHXdmYg5dDW+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1622701405; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=t9JbDnE3+wnXBsjz3dz8rrlkC5o6G7gDKO5r/FQUMYM=; b=hSOaNPKZf04gZTQCfaMy07+KfRSaKqypDPB9aFkMKSiIbPsHlYq/B/Roue+72+SDrUwmK+mLHFr+5tj7MrRpiocjE/ornUDcEkYHHqFRcwKB+pLJqxaSUopqFCPhWt5CAw2myGCG/m7lqmt1aBQkEhiqP57vofp/kZkYCT9ihSs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+76009+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16227014051691005.6339211660713; Wed, 2 Jun 2021 23:23:25 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id sh0mYY1788612xSGCMcVfGKn; Wed, 02 Jun 2021 23:23:24 -0700 X-Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.4341.1622701403930357327 for ; Wed, 02 Jun 2021 23:23:24 -0700 IronPort-SDR: eiuV/GvwoP3wvRvYi1w8HzYxexKCpVX/7DGLvuT+07pRFC0Cmug8WW7WHkkwYiBeaxkkUWxXd+ G6Kr+xLR7uIA== X-IronPort-AV: E=McAfee;i="6200,9189,10003"; a="191323250" X-IronPort-AV: E=Sophos;i="5.83,244,1616482800"; d="scan'208";a="191323250" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jun 2021 23:23:23 -0700 IronPort-SDR: CtMD7JSGGAw6zM4Q2JycueTzDbGgBC2qExEfrw+wGNvyAHdDiSQr00e/eW8zfbQU9ut3anB5Lc 4ZDePltPd3wA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,244,1616482800"; d="scan'208";a="447728735" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by fmsmga008.fm.intel.com with ESMTP; 02 Jun 2021 23:23:21 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Maurice Ma , Guo Dong Subject: [edk2-devel] [PATCH v2 1/3] MdeModulePkg/UniversalPayload: Add definition for extra info in payload Date: Thu, 3 Jun 2021 14:22:57 +0800 Message-Id: <20210603062259.1390-2-ray.ni@intel.com> In-Reply-To: <20210603062259.1390-1-ray.ni@intel.com> References: <20210603062259.1390-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: gzgKu8oi058QikJdOmwdYziAx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1622701404; bh=ShsHTE3HlJUMvixlNkwm8aCH5PPC3jh/PJaoiOdF8kg=; h=Cc:Date:From:Reply-To:Subject:To; b=LjagFaq0wYU1LOpTbY4p1ysKNd/fBE/5GZaDEdL+jYqeNv6Jjei9jgt4BL5S3+p7Z2/ iZaZzTYhWvUaoZDwogE4D3ojD8i1OngQUIs39K/pjm07hu8aEGbzlHUzuuV3cWOiyIxNb YpyOmFm/4sYy1LW48vn5IbafVnj/tZE+Aug= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" The payload is in ELF format per the universal payload spec. PLD_INFO_HEADER is stored in the ELF payload as a separate section named ".upld_info". Extra data needed by payload is stored in sections whose name starts with ".upld.". Signed-off-by: Ray Ni Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Maurice Ma Cc: Guo Dong Reviewed-by: Hao A Wu --- .../Include/UniversalPayload/ExtraData.h | 28 ++++++++++++++ .../UniversalPayload/UniversalPayload.h | 38 +++++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 ++ 3 files changed, 69 insertions(+) create mode 100644 MdeModulePkg/Include/UniversalPayload/ExtraData.h create mode 100644 MdeModulePkg/Include/UniversalPayload/UniversalPayload.h diff --git a/MdeModulePkg/Include/UniversalPayload/ExtraData.h b/MdeModuleP= kg/Include/UniversalPayload/ExtraData.h new file mode 100644 index 0000000000..07b7426683 --- /dev/null +++ b/MdeModulePkg/Include/UniversalPayload/ExtraData.h @@ -0,0 +1,28 @@ +/** @file + + Copyright (c) 2021, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#ifndef __EXTRA_DATA_H__ +#define __EXTRA_DATA_H__ + +extern GUID gPldExtraDataGuid; + +#pragma pack(1) + +typedef struct { + CHAR8 Identifier[16]; + EFI_PHYSICAL_ADDRESS Base; + UINT64 Size; +} PLD_EXTRA_DATA_ENTRY; + +typedef struct { + PLD_GENERIC_HEADER PldHeader; + UINT32 Count; + PLD_EXTRA_DATA_ENTRY Entry[0]; +} PLD_EXTRA_DATA; + +#pragma pack() + +#endif diff --git a/MdeModulePkg/Include/UniversalPayload/UniversalPayload.h b/Mde= ModulePkg/Include/UniversalPayload/UniversalPayload.h new file mode 100644 index 0000000000..b8e9fe11a1 --- /dev/null +++ b/MdeModulePkg/Include/UniversalPayload/UniversalPayload.h @@ -0,0 +1,38 @@ +/** @file + + Copyright (c) 2021, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ +#ifndef __UNIVERSAL_PAYLOAD_H__ +#define __UNIVERSAL_PAYLOAD_H__ + +typedef VOID (EFIAPI *UNIVERSAL_PAYLOAD_ENTRY) (VOID *HobList); + +#define PLD_IDENTIFIER SIGNATURE_32('U', 'P', 'L', 'D') +#define PLD_INFO_SEC_NAME ".upld_info" +#define PLD_EXTRA_SEC_NAME_PREFIX ".upld." +#define PLD_EXTRA_SEC_NAME_PREFIX_LENGTH (sizeof (PLD_EXTRA_SEC_NAME_PREFI= X) - 1) + +#pragma pack(1) + +typedef struct { + UINT32 Identifier; + UINT32 HeaderLength; + UINT16 SpecRevision; + UINT8 Reserved[2]; + UINT32 Revision; + UINT32 Attribute; + UINT32 Capability; + CHAR8 ProducerId[16]; + CHAR8 ImageId[16]; +} PLD_INFO_HEADER; + +typedef struct { + UINT8 Revision; + UINT8 Reserved[3]; +} PLD_GENERIC_HEADER; + +#pragma pack() + +#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 8d38383915..d823ad0ba7 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -404,6 +404,9 @@ [Guids] ## Include/Guid/MigratedFvInfo.h gEdkiiMigratedFvInfoGuid =3D { 0xc1ab12f7, 0x74aa, 0x408d, { 0xa2, 0xf4,= 0xc6, 0xce, 0xfd, 0x17, 0x98, 0x71 } } =20 + ## Include/UniversalPayload/ExtraData.h + gPldExtraDataGuid =3D {0x15a5baf6, 0x1c91, 0x467d, {0x9d, 0xfb, 0x31, 0x= 9d, 0x17, 0x8d, 0x4b, 0xb4}} + [Ppis] ## Include/Ppi/AtaController.h gPeiAtaControllerPpiGuid =3D { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0,= 0x7a, 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }} --=20 2.31.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76009): https://edk2.groups.io/g/devel/message/76009 Mute This Topic: https://groups.io/mt/83277975/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-