From nobody Sun May 5 07:45:33 2024 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+104148+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+104148+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1683306764; cv=none; d=zohomail.com; s=zohoarc; b=Stkq7YgUULWsQ0qIr2AZouIIERavVWli3wTXmabbxrRqoNNU8Kcckui2H1JACQ1XjID1anoijlmZzbkY9zBJy8rqsqvAI66upLVRRlYnXZgOAfUn3b71CCms2MXS5GFtBOSu33YDh81BFazRN7TSmiXMfROijncXyVe5V0JAuW4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1683306764; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=1ooVkaE++kfo3Sue5WEeQ1lyVCu4NkcY9yQP5KrOzzY=; b=WFWRj9BydiOoNvC4j7QDIjnIK1Tm+O6GU3hYFHMIhzdOpuTOacWuK5qD22C7mNJ2aJeZ6C1asdbnTuC5uHC5gnMChn0gW72CykuKplCUhXCeSmpHNrdX5tuf1lWt7quw1GDHBvtRBq/ZA3GBVDg/zAFtL8jhBirqw9l4AnaDimc= 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+104148+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1683306764001404.27182155019943; Fri, 5 May 2023 10:12:44 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 42wGYY1788612x8b4EeDfdQC; Fri, 05 May 2023 10:12:43 -0700 X-Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.20848.1683268046298784027 for ; Thu, 04 May 2023 23:27:26 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="352182599" X-IronPort-AV: E=Sophos;i="5.99,251,1677571200"; d="scan'208";a="352182599" X-Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 May 2023 23:27:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10700"; a="841560296" X-IronPort-AV: E=Sophos;i="5.99,251,1677571200"; d="scan'208";a="841560296" X-Received: from jenkailx-desk1.gar.corp.intel.com ([10.227.107.51]) by fmsmga001.fm.intel.com with ESMTP; 04 May 2023 23:27:24 -0700 From: kasimx.liu@intel.com To: devel@edk2.groups.io Cc: KasimX Liu , Guo Dong , Ray Ni , James Lu , Gua Guo Subject: [edk2-devel] [PATCH] UefiPayloadPkg:Add YAML support version configuration Date: Fri, 5 May 2023 14:27:19 +0800 Message-Id: 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,kasimx.liu@intel.com X-Gm-Message-State: yQ8PLRUrHSEzjUyOik07mB7Dx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1683306763; bh=10wxr2d0doWfUgbgmUsvdYVhSd6rdPwN4VN4/NVqHso=; h=Cc:Date:From:Reply-To:Subject:To; b=HRMQDPtOEzZ6HJ1nEtE42BJ7U9ipl/X6ZK7BAKn1UUCM/JIY4DQbchbP7jVFiOcUwcr zjBvY0JCF9OV0VGkx5i6mFObF+J9xVb4YlDnrwl87oN5eGcDAO4PrXGSAs7ceOQR6ryZ/ imTKOlhyE3lKEkT6NsNBbtRX8yfSesw0l3g= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1683306764506100021 Content-Type: text/plain; charset="utf-8" From: KasimX Liu REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4445 To record the default value of SpecRevision and Revision. add '-st' command of input YAML setting file Cc: Guo Dong Cc: Ray Ni Cc: James Lu Cc: Gua Guo Signed-off-by: KasimX Liu --- UefiPayloadPkg/Settings/UplSettings.yaml | 11 ++++++++++ UefiPayloadPkg/UniversalPayloadBuild.py | 28 ++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 UefiPayloadPkg/Settings/UplSettings.yaml diff --git a/UefiPayloadPkg/Settings/UplSettings.yaml b/UefiPayloadPkg/Sett= ings/UplSettings.yaml new file mode 100644 index 0000000000..959170ae76 --- /dev/null +++ b/UefiPayloadPkg/Settings/UplSettings.yaml @@ -0,0 +1,11 @@ +## @file +# Set shell variable EDK_TOOL_PATH to this folder +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +{ + 'SpecRevision': '0x0070', + 'Revision': '0x0000010105' +} diff --git a/UefiPayloadPkg/UniversalPayloadBuild.py b/UefiPayloadPkg/Unive= rsalPayloadBuild.py index 416946a431..a32c76a2da 100644 --- a/UefiPayloadPkg/UniversalPayloadBuild.py +++ b/UefiPayloadPkg/UniversalPayloadBuild.py @@ -13,6 +13,7 @@ import sys from ctypes import * from Tools.ElfFv import ReplaceFv sys.dont_write_bytecode =3D True +import re =20 class UPLD_INFO_HEADER(LittleEndianStructure): _pack_ =3D 1 @@ -153,6 +154,18 @@ def main(): =20 return int('0x{0:02x}{1:02x}'.format(Major, Minor), 0) =20 + def GetUplVerFile(Argument): + FilePath =3D open(os.path.abspath(Argument), 'r') + FileControl =3D FilePath.read() + SpecRevision =3D "" + Revision =3D "" + Rule1 =3D r"\{\n*.+: *'(?P.+)', *.+: '(?P.+)= '\n\}" + ModuleObjs =3D re.finditer(Rule1, FileControl, re.I|re.S) + for ModeObj in ModuleObjs: + SpecRevision =3D ModeObj.group("SpecRevision") + Revision =3D ModeObj.group("Revision") + return SpecRevision, Revision + def Validate32BitInteger (Argument): try: Value =3D int (Argument, 0) @@ -184,14 +197,25 @@ def main(): parser.add_argument('-i', '--ImageId', type=3Dstr, help=3D'Specify pay= load ID (16 bytes maximal).', default =3D'UEFI') parser.add_argument('-q', '--Quiet', action=3D'store_true', help=3D'Di= sable all build messages except FATAL ERRORS.') parser.add_argument("-p", "--pcd", action=3D"append") - parser.add_argument("-s", "--SpecRevision", type=3DValidateSpecRevisio= n, default =3D'0.7', help=3D'Indicates compliance with a revision of this s= pecification in the BCD format.') - parser.add_argument("-r", "--Revision", type=3DValidate32BitInteger, d= efault =3D'0x0000010105', help=3D'Revision of the Payload binary. Major.Min= or.Revision.Build') + group1 =3D parser.add_mutually_exclusive_group() + arg_a =3D group1.add_argument('-st',"--Settings",type=3DGetUplVerFile,= default=3D"UefiPayloadPkg\\Settings\\UplSettings.yaml", help=3D'Get the Up= lSettings.yaml') + group1.add_argument('-s', "--SpecRevision", type=3DValidateSpecRevisio= n, default =3D'0.7', help=3D'Indicates compliance with a revision of this s= pecification in the BCD format.') + group2 =3D parser.add_mutually_exclusive_group() + group2.add_argument('-r', "--Revision", type=3DValidate32BitInteger, d= efault =3D'0x0000010105', help=3D'Revision of the Payload binary. Major.Min= or.Revision.Build') + group2._group_actions.append(arg_a) + parser.add_argument("-o", "--ProducerId", default =3D'INTEL', help=3D'= A null-terminated OEM-supplied string that identifies the payload producer = (16 bytes maximal).') parser.add_argument("-e", "--BuildEntryOnly", action=3D'store_true', h= elp=3D'Build UniversalPayload Entry file') parser.add_argument("-pb", "--PreBuildUplBinary", default=3DNone, help= =3D'Specify the UniversalPayload file') parser.add_argument("-sk", "--SkipBuild", action=3D'store_true', help= =3D'Skip UniversalPayload build') parser.add_argument("-af", "--AddFv", type=3DValidateAddFv, action=3D'= append', help=3D'Add or replace specific FV into payload, Ex: uefi_fv=3DXXX= .fv') args =3D parser.parse_args() + SpecRevision, Revision=3D args.Settings + if SpecRevision !=3D args.SpecRevision: + args.SpecRevision =3D SpecRevision + if Revision !=3D args.Revision: + args.Revision =3D Revision + print(args) =20 MultiFvList =3D [] UniversalPayloadBinary =3D args.PreBuildUplBinary --=20 2.39.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 (#104148): https://edk2.groups.io/g/devel/message/104148 Mute This Topic: https://groups.io/mt/98710279/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-