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.web10.4833.1681463307700107745 for ; Fri, 14 Apr 2023 02:08:27 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=QTlaDgyi; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: ted.kuo@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1681463307; x=1712999307; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3gXT/1LkDSB07QNutCLppNL0OOXHM6sJcLUsjMlBi58=; b=QTlaDgyiRsRSI2Xj4OeXGkzhcAKzWiQdtAb3gWDnDEi7eFjI5kUwXG3a BDMu82TH9uH2b+KbNmNGTN9VSZ4KUEOd6Q2rai9kFSW4/rp0eKWfgp25J fdNN/tcMJU2nU6PdMTYQyJdpx1TAHB/AePj4zKiJFU07EVMme/Zz/9CsA dBPD9ov9JKxUPGvX4oBy61JaIVRII4bs9L9C9BltkBKu4pS+FufrIKceD xnXNE7LNHJTtrjjC1pui8WHQ6x+zAIFBXpWeoNf1sIpul8jFMn3jPuFuk XOWPYSTPlVEjnB/aBzIsGZe8bI1SIgN8i3f6Bc36CznC8J6MsDcdSQngN A==; X-IronPort-AV: E=McAfee;i="6600,9927,10679"; a="324050133" X-IronPort-AV: E=Sophos;i="5.99,195,1677571200"; d="scan'208";a="324050133" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Apr 2023 02:08:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10679"; a="692332382" X-IronPort-AV: E=Sophos;i="5.99,195,1677571200"; d="scan'208";a="692332382" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 14 Apr 2023 02:08:18 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Fri, 14 Apr 2023 02:08:17 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Fri, 14 Apr 2023 02:08:17 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Fri, 14 Apr 2023 02:08:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PK7I9pJo3cjBr2GZBcm8HcDviYQI7jK2/FMufi8jIgFpEWpR+I0NncwD3907XadsXSpewCG5WSSLF+VbnNdLG1nfXzQsXiFx6hTeUEpsvpcn0eYElCldwoMSZQhbTmlmNdmhnq6L58A1ZVyqm1k8BDne+YBuZNfSlGugawqvBlGQ6BJXA9hbogpDE8beySGPvhAmWbbA5zEi9Q5n7DKvB4owf2a/arJbpecrlPLHuWOG2qaEBjAbz6iIieUrL00s06TcbvLVefswWQI6Vns9DlEBes+7MExQHc41QOE3SxaZUZXZYcapEE1LtgY1z5Yx9oZKqBjuElaE8x5L+gNyiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QXsYxdu5G/2vT0PC4vlrslQJn4S3+VDBBVeq5YJerk4=; b=YL/n1Y9LGewvKyTKLlholRxgWZC6NvhJbCeBU2NYPzijgD0qZX0hq4nLT9C/cIofBEPN3yJkW3QXx8p+8b0tK1pGN5XXH2SjBN3UirUiMBx8CSd/W8/2wCeLZrlTxSQuekbwUR5d1i8b4sasUP5QfcXemjYxQ1g02jIH3M1e8LTzCeI51y9eDC4Ftq10q83V2JeCBljSd2mk7h0M+kY5SdAQIEycA0yFVWkLJq01XGgxlqYH6Hccr5uAoH4u7v3p6xKnonXiin84fuUHPITuLKZv+l2NECB/Bq1HWN9ntCy/UgwF0hzn46gGvuVelQrJ7rLnOQP4MZZ/j1JDbbk3bw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM5PR11MB1929.namprd11.prod.outlook.com (2603:10b6:3:10a::22) by CY5PR11MB6368.namprd11.prod.outlook.com (2603:10b6:930:38::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6277.36; Fri, 14 Apr 2023 09:08:16 +0000 Received: from DM5PR11MB1929.namprd11.prod.outlook.com ([fe80::b282:8305:2797:2a94]) by DM5PR11MB1929.namprd11.prod.outlook.com ([fe80::b282:8305:2797:2a94%11]) with mapi id 15.20.6298.030; Fri, 14 Apr 2023 09:08:16 +0000 From: "Kuo, Ted" To: "Duggapu, Chinni B" , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Zeng, Star" Subject: Re: [PATCH v2] IntelFsp2Pkg/Tools: Enhance PathFv.py to patch Fd file directly https://bugzilla.tianocore.org/show_bug.cgi?id=4412 Thread-Topic: [PATCH v2] IntelFsp2Pkg/Tools: Enhance PathFv.py to patch Fd file directly https://bugzilla.tianocore.org/show_bug.cgi?id=4412 Thread-Index: AQHZbqv9Ch4KULbkIUuKz8odXr5mJ68qg5/A Date: Fri, 14 Apr 2023 09:08:15 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR11MB1929:EE_|CY5PR11MB6368:EE_ x-ms-office365-filtering-correlation-id: e49e822e-2fa7-46cc-477e-08db3cc7c813 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wGQtIlVSSLN5dD95SfYTOgHZiDy/HT/4a7KPx1xNCugF4Cxu/5m8iv19ek+YWEdX9yxaSDw0sVL7KOT0aSBTvWmfzJjepgQkK2+xcA128cBFEv0evzBpHf+3MjFSgsWqlcyIzurr4HIqcgzmtjD2T7wmjzISOogFcPk1o4GAvoSGiPjkeNx9yG4GHfxctCHf6PA+AVFGnzkSeBvk+Cc+vjh01y5oJay888RzN/WTEsL0DUuHL2wQEix1FmDOqg95/dcY18XZI1nEWwJBnX3XZPZmwqOdkAX0RKgWRM/4pRrFaamgecFikDQ9CBIvCqQt9+udPt0/NZrhOH635c0wqTMm9CfnN8hhL3ideu7qzdM6ZRhFActLYQUpl0jVXz7sJGjwyH4AaDGJmlZhaftZDEOWYizR558sGYMSQwIMHYZsu3Q7FSuHdw9ak1RSGaMqNk4wNAGTVi9tTAx8znXVtLi9lVXK0FS/kK1qRK6bwpElrd/rlUMla7aY9aDOC0NTLcMc0jXf2e5dIHHM5Lzari8Pi4Al3Cs3OC65L0V9xDEGYJYa2reY9KjqMdWGufbEnq46v2SauO8geiXx/OODOsTsSEsw2IwySnqnp1vE5T4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR11MB1929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(346002)(396003)(366004)(39860400002)(451199021)(41300700001)(5660300002)(38070700005)(122000001)(55016003)(107886003)(38100700002)(478600001)(33656002)(8936002)(52536014)(8676002)(82960400001)(83380400001)(2906002)(186003)(76116006)(19627235002)(86362001)(66946007)(4326008)(26005)(66476007)(9686003)(64756008)(316002)(110136005)(66446008)(66556008)(6506007)(7696005)(54906003)(53546011)(71200400001)(966005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?FTfuwa9XrCoPXGjO6ojK7eZetdDlGqvvTv9QVn6OuLQLiiA74n5iwq4kX2RN?= =?us-ascii?Q?eojjGCQVidQy2haTGjHoyOgZT/IyqElYVwg/Z+VbTRfaXpZJ4MuX6BaTNCsB?= =?us-ascii?Q?BUYcvaFF7YyxG59hAa2nl7ONphNFvb0QVrWN7EN7bofpk5wKPyf7vmEc8eij?= =?us-ascii?Q?oghI/H2qkmm1TBOoQsf96ylMu9NQyDPidR70UdQpl9owVpSB6q6V6LBWUWpx?= =?us-ascii?Q?XwimxxQePsIPM8SF/Co4AR0E5OUabH5hyceOzc3kFrljStpk1mBcIqdUZUdR?= =?us-ascii?Q?ZSYNaIqQ6yETL89yuZ0nDJ2mh+b6ugAyai4OnJ0+DGOjSpKF87dPabewaU3n?= =?us-ascii?Q?COX/PfgEwm24YXGRbN7Stx7IEyyfVkVM9AC1M7FsJF9KyknPToOKOwL6GPaM?= =?us-ascii?Q?Basmmb/+gPhBBigK47iYBw8MwoAknhNQK5x2B74MOyOXh1W0QOTgvra4Txvj?= =?us-ascii?Q?ZltJVj3r0TMAktj7GimBSH908EH93CHGSkS4SdqvDjTHKnuAQCiezF4Gdjl+?= =?us-ascii?Q?wfhGLOUr56kW56G7SIkB/UUqjwmrRJGELP//x8tN77LIb3hWpr0+2Yucw90U?= =?us-ascii?Q?4UG1lXWPQvKVUWhnAKLOsnQWe4g2B2O1XRWvoersAVvaVOXNyHjC+Y2bey4d?= =?us-ascii?Q?gl2GeDKT+4XjFIzGkuZyXRO3rW54VepuGAn/cEgBFTGsJZIcuopJBW0bgzZ2?= =?us-ascii?Q?CUC+RakgwwiJg4KP8A1Ve9LS+Oa0AoJVAM2GUczuvYIdE+eW9l/7qew8+yRY?= =?us-ascii?Q?qDlrz4ubV+RekCY60BGp38TeKG6p+z/8mMQ+72mmObRhSaP8zOzVm/rmDWbk?= =?us-ascii?Q?CEFucNsxJAGSugAn/qSM3R0iuRoSP/ULOSwqy7P7UnbW/8J98KploDy8qPrI?= =?us-ascii?Q?jg3P+T/SgCD3WH+4VYnmJs/WCZdYEUE5JjVFOZXKGWW3rfGD3nA6ZwwndTkn?= =?us-ascii?Q?OSxVq9m9Nh5qo9vse2IeGseQ1YodDQ+fYnyNt509R+R1NQCeT3ngzi0C470E?= =?us-ascii?Q?qE/m4Ga5XhB7DQawuP37h+kncuiqq3/Zh122uDkzPPau7c+ClPzGhchLvXuP?= =?us-ascii?Q?hBj10+2zA4IFCQr7XaAzBv8w+fjKJIrBArUXUOVilqgMDfRpYx4jW9QKaxjX?= =?us-ascii?Q?8/eDEkeVSxfccQYAQv5niM99XnVkpIz1ZI3YvNx0xgWLINbvVg6jdK6A4y1O?= =?us-ascii?Q?8ETUMzsp9DN1Lwzf2w72uW0kpvdJUfL9DueKIDlNmicyhvLMIJp3WoRb5xC0?= =?us-ascii?Q?f1qYgmA9k4bowfzSWxR90wF4MhxVE6XWGYgOBtczbhFAR+iJBKK0Y1Ippgxv?= =?us-ascii?Q?dqAgD/AdVznXKnBJKSWSz3DVyUrBqahndJkORaVlUCrdHzgug8d2n9KdxNRx?= =?us-ascii?Q?gA32JNgu8yvq0v+2nRvDx/EQVSnz9timx6gxfmkCo3M0lMg1zt5of73AQHjQ?= =?us-ascii?Q?2gnx9fmuG2QANBLOipt44Pj2lAzmok0/lpFYgt5W8WOAKv/e4VwhuMefAu0k?= =?us-ascii?Q?XV7RLa6IJsh3mbN8ZB6B7G/FQfLztFZ9wS9fjCOVu/6LENUHnf7akkM41eBq?= =?us-ascii?Q?Jiq7bMisqI4HfGbWddc=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e49e822e-2fa7-46cc-477e-08db3cc7c813 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2023 09:08:15.5734 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: rCX3pHjKj4bsrzzpnbCr1HxdL0v04KfaadeScJiO0An4li59Ke3xSOHWj0rzUp5f4ErN+ThHRHr8lgljccEP1Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR11MB6368 Return-Path: ted.kuo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Ted Kuo Thanks, Ted -----Original Message----- From: Duggapu, Chinni B =20 Sent: Friday, April 14, 2023 4:34 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Zeng, Star ; Kuo, Ted ; Duggapu, Chinni B Subject: [PATCH v2] IntelFsp2Pkg/Tools: Enhance PathFv.py to patch Fd file = directly https://bugzilla.tianocore.org/show_bug.cgi?id=3D4412 After shrinking the FSP (FV) component using FMMT, Image size in FSP info h= eader is not in sync with the FV length in FV header. This enhancement helps to patch the FSP image size offset with correct leng= th & can be used to patch any offset directly on the FSP Component Fd . Cc: Chasel Chiu Cc: Nate DeSimone Cc: Star Zeng Cc: Ted Kuo Signed-off-by: Duggapu Chinni B --- IntelFsp2Pkg/Tools/PatchFv.py | 14 ++++++++++++- .../Tools/UserManuals/PatchFvUserManual.md | 20 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/IntelFsp2Pkg/Tools/PatchFv.py b/IntelFsp2Pkg/Tools/PatchFv.py = index eb130049b5..156c937abe 100644 --- a/IntelFsp2Pkg/Tools/PatchFv.py +++ b/IntelFsp2Pkg/Tools/PatchFv.py @@ -165,6 +165,17 @@ class Symbols: if not os.path.isdir(fvDir): raise Exception ("'%s' is= not a valid directory!" % fvDir) + #+ # if user provided fd = name as a input, skip rest of the flow to+ # patch fd directly+ = # + fdFile =3D os.path.join(fvDir,fvNames + ".fd")+ if os= .path.exists(fdFile):+ print("Tool identified Fd file as a input= to patch '%s'" %fdFile)+ self.fdFile =3D fdFile+ sel= f.fdSize =3D os.path.getsize(fdFile)+ return 0+ # = # If the Guid.xref is not existing in fvDir, then raise an exception = #@@ -848,8 +859,9 @@ class Symbols: # Print out the usage # def Usage():- print ("PatchFv Version 0.50")+ = print ("PatchFv Version 0.60") print ("Usage: \n\tPatchFv FvBuildDir= [FvFileBaseNames:]FdFileBaseNameToPatch \"Offset, Value\"")+ print ("\t= PatchFv FdFileDir FdFileName \"Offset, Value\"") def main(): #diff --g= it a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md b/IntelFsp2Pkg/Too= ls/UserManuals/PatchFvUserManual.md index 5f1031e729..33bba38a3f 100644 --- a/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md +++ b/IntelFsp2Pkg/Tools/UserManuals/PatchFvUserManual.md @@ -1,6 +1,7 @@ #Name **_PatchFv.py_** - The python script that patches the firmware volum= es (**FV**) with in the flash device (**FD**) file post FSP build.+From ver= sion 0.60, script is capable of patching flash device (**FD**) directly. #= Synopsis @@ -10,6 +11,12 @@ PatchFv FvBuildDir [FvFileBaseNames:]FdFileBase= NameToPatch ["Offset, Value"]+ | ["Offset, Value, $Command"]+ | ["Offset, Value, $Command, @Comment"]= + ```+```+PatchFv FdFileDir FdFileName ["Offset, Value"]++ | ["Offset, Val= ue, @Comment"]++ | ["Offset, Value, $Command"]++ | ["Offset, Value, $Comm= and, @Comment"]++``` #Description The **_PatchFv.py_** tool allows the dev= eloper to fix up FD images to follow the@@ -102,6 +109,19 @@ ModuleGuid:Off= set < > Convert absolute address into an image offset (expr & FSP_SIZ= E) ```+From version 0.60 tool allows to pass flash device file path as Arg= ument 1 and +flash device name as Argument 2 and rules for passing offset &= value are same+as explained in the previous sections.++####Example usage:+= Argument 1+```+ YouPlatformFspBinPkg\+```+Argument 2+```+ Fsp_Rebased_T+```= ###Special Commands: Special commands must use the **$** symbol as a pref= ix to the command itself.-- 2.39.1.windows.1