From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web10.19164.1650532758644138215 for ; Thu, 21 Apr 2022 02:19:19 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=M0kAdQ89; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: bob.c.feng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1650532758; x=1682068758; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=14/GpY0Z3I0O8PRhTssixgy1NPIroUhi0IGYPadlXls=; b=M0kAdQ894s7r1pVvj9K4KcZFUlyNyrwnA3KU8F7mQb+ySclRLUOzjF4O 5+NX7r4NEs6/wSgS/ImilHhKRIYeqIPM5947Hm1VHuGphUiFZDWLzngfa 3b/OBFzejifPF0qpWhfqqK04/L8yaMdLo8+ZYJ1Irll7D7KBDxCRM1dDQ B29eH0KgXKoivRMXFU63qQZDcsvxOE/3mQ44nbXT7BhkHSipVwkEMsaqQ ujH83JkTVNWxmi5KAUfY4a0ZtUWxd+58ILh7KEdYcLFleGbypl9OCFjrv hRekFZMXQSOBwc15+7njD+c9ZfHyr/u1YAULly+Pl6G0smAk+qWNFJmUi Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10323"; a="246187735" X-IronPort-AV: E=Sophos;i="5.90,278,1643702400"; d="scan'208";a="246187735" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Apr 2022 02:19:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,278,1643702400"; d="scan'208";a="805431812" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga006.fm.intel.com with ESMTP; 21 Apr 2022 02:19:17 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 21 Apr 2022 02:19:17 -0700 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Thu, 21 Apr 2022 02:19:16 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Thu, 21 Apr 2022 02:19:16 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Thu, 21 Apr 2022 02:19:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DJwxnrTy1RDlghs2A2TFvcx0xJJ7uXPIWX4/TvL/6+kgdk9yGySfrQPd0PaSxXYDQn4QGOABvqRzVzRWXkfHZt0WxIkjEiyoqeXIA6fOZ4H5mRnQAxIzI3ja6gxiCUZGMZjVkP7ePAvT/RFZZ9F8sNvMDrbNd+LNrZJ/bYRFiJaEul1GCgppsP/UuJETQQr2Xqdqo6YIy9SH+uJhR4pBuC6OeCoJQrCfUth0cbnG0xHrmbqub+pZZOHLVeWWxyFbTDoGHqeBDZduNJ1tlgark6UkuIWzgOrvbB1NlVEsQu511ovSYOSoCENTjQuk3tOSm86SkXz2n6LuUuuQqFYeow== 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=iT3dLMmJ0SG3TQDcxpxRXrvkY6dAbx8DrQlbdiIePbQ=; b=g7Wwq7MzwrB/NcCdjtVnvlBU6+AT595Reyd2fzRvhjnhYJAs1OuyOMWyTBnzjveWcVsefm1YeheEtVNOLbsDulZEDiAMS8Nd+Ve17Y/0q841GeWCp6MLXknTKIls/rJRXNDVH2m/85okVMZnpgGlVtBPKXpakvh2BIL+zfzH36mlOCczq9iAPUnmhqUXGEIvLFqbUo/rHmYCQsewNliPTq3YSq1A1ud3EvUZBvcECfFLp5aHSTJ9CMer1TnxS3uPo0fUHJ/tDTWkc9RAlY7Juup/xU/dSXdxAE//MXorJR8ZPKHBVxmWRT2OofTK2yDS5OawqVBf1EME8RgNntb6IA== 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 PH7PR11MB5863.namprd11.prod.outlook.com (2603:10b6:510:135::11) by MN2PR11MB4447.namprd11.prod.outlook.com (2603:10b6:208:194::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5186.13; Thu, 21 Apr 2022 09:19:13 +0000 Received: from PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::bdfa:2a87:8b69:fb8c]) by PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::bdfa:2a87:8b69:fb8c%9]) with mapi id 15.20.5164.025; Thu, 21 Apr 2022 09:19:13 +0000 From: "Bob Feng" To: "Li, Yi1" , "devel@edk2.groups.io" CC: "Gao, Liming" Subject: Re: [PATCH 1/1] BaseTools: Move gPlatformFinalPcd to Datapipe and optimize size Thread-Topic: [PATCH 1/1] BaseTools: Move gPlatformFinalPcd to Datapipe and optimize size Thread-Index: AQHYUvx+xLluCW8KaUaCbHmkUDSYw6z6G51Q Date: Thu, 21 Apr 2022 09:19:13 +0000 Message-ID: References: <1dfa05cf5e37603c48802c145022412d5f78a052.1650269558.git.yi1.li@intel.com> In-Reply-To: <1dfa05cf5e37603c48802c145022412d5f78a052.1650269558.git.yi1.li@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.401.20 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: eedf8d9c-3bb2-4618-5574-08da23780085 x-ms-traffictypediagnostic: MN2PR11MB4447:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sxlojW/0kq2kWSeG5ToVZ69v5tzfE2QX8XrxUXJcFDWSX30Mm5XEPUUmJ+PUIe/RytRFNT2xZgYUtPAckqHn+JFe+kIQ/ZhAvVe/QZFirN7Vv5804COS+9cQQuEabn7a4QT9/Fs9Db3CLks6utj8aHdo/WqxYu9dXCSfY/LxPYOJBFKdN0R84qUqFYM42D8jh3xIgX7jmcqWZ64fNCQPdEmEQZ7ogNHL3+7HYZeHCqtUBgoAA5AVzgs22PcQ5hdhPyhWltZc7SYDvWlvm3KEqWoyVfk6wnDHyLvzkjSCMhiH8qMNf5IxKCVgmx+ylrKrKlzUD0s4KsAgSN5OH+++pGJ7di+ZF9oxL1jlk/capEEjWiKvxZWGSHwaL+g1KAIZLNlcw9MLXOFGmVHBN7Ya00u4u1/83dvh6CJFNqgyFVhVJx43d9P/ftAIDiThdY4l6fDTQ3iAJT581vJURuJd8MqU1XGWcyyacds26h95XcpPOhRH3V0jOxVCBJHEeBDMd7Gwh+q09Y4yOlXDqacWybUJ6IN2DSGu9c5MjQ1l8rJ4AyNXZZRcj9FXPzcYaseVIQ5rCt5/Tffg++txowZCEVD9+1LAAaCvkzsYVYamjeJ7MwFwe6Pa+SGg+3adzgY4nVC9dEaRNqxmq1QE1MQZmFQ5n4nT0EuL+6E2SQFfL9DSb8bNHQw9JFossrn3fe7zA/ASEbHA5qqOK0WQ1MRBfz3wvFI3IJy/tniyQc5vqDe/zgT3iTzq9lmuAtEvySqle2I9ha3JYRnMkkSSyWKut9uxVS8PjjihxyuU9RHjXF78H+U83ouBxPLo/2ZncQPa x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB5863.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(7696005)(9686003)(6506007)(186003)(26005)(966005)(71200400001)(38100700002)(38070700005)(82960400001)(83380400001)(110136005)(316002)(33656002)(2906002)(53546011)(4326008)(8936002)(86362001)(5660300002)(52536014)(66946007)(55016003)(66446008)(66476007)(66556008)(64756008)(508600001)(122000001)(8676002)(76116006)(145543001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?O4JRLBoXEEVr9qZg90zLuVTjpN4tNVCW4zX+jqqr9+2ZjXKBFUDRHLJw5TzW?= =?us-ascii?Q?ref4PmsPkjvwroGb6NqnBP8RqRUtHWz2ZY2zHTk3kFbGp1nOw9scI80K4N9o?= =?us-ascii?Q?JhoocwnX8qz4jLScEPTEzxAzqaa3zW9Q56r0CTjQamJo2uXpyqd6w3t5ifOb?= =?us-ascii?Q?hIF7Bx7zRfnBM97xT/SIq6WTOWwMijZ0sWvRNqKpMw5QC/LZGOn/geBGs7KC?= =?us-ascii?Q?WJPFTPYjLoMX5rxbp4put70QtL5Ia0+YgQpmwRAXtGzkUI368FImOA1gFnqP?= =?us-ascii?Q?At7M/HUWaJACYN/3gXb7PzL3DcmGQkhoxhSmBmHMVDlUZ/05tXB7BXvyrzw8?= =?us-ascii?Q?zWaHA350kFWLb4uTwIirDtj8HSVIssSjpsripCkKW+eNOxV+vxyniTJXbTPz?= =?us-ascii?Q?Tn1w/2dT9+nIdMI05Ba6NC/y1Htcnd1fMu2PqNnAW3cHYWt15qoo9RSQM/mN?= =?us-ascii?Q?VlutVj+97UWxNKipi2wQf/Y1klJ7sP1VPUOJ+eVnIQF4hQ1C8I2bd+K0wRlx?= =?us-ascii?Q?OJ92IOkvt0eARIFn/kdCK0Nwx58Eqa7G4eyOtGfuJR5Bo/2GClIxa/w5NsA/?= =?us-ascii?Q?hSThURUTAdwAv9SuYe2VEetxPK1/Ejr86QFnfmyEhlzYlxwaaaCT+N42OqTa?= =?us-ascii?Q?98j9usJ5QrOD8kCP+QQl8P3G6J9tlvlRVb9pc4xx5HUq8NIK+lRXLnIfwlg8?= =?us-ascii?Q?C8DJZU8pGtxU0Xrk8l/doDzN6i5SZPrZSXcckMcyF+sgbh4P4zRBDmWf9/O9?= =?us-ascii?Q?SAZ4v6UZTwE/J/IhT9iBNaFGfhIiDHbcEVuaijOIZajEXmlYSXQt66H58Eup?= =?us-ascii?Q?PkAz+RZjku8Nu+TKv72FERo3QiWJYt5cBM2e9kl7U4WHKvdRjK1Nro3CKC8I?= =?us-ascii?Q?yXTvN0txJ60crTdABZ8JUyHrqfZfPCkohkIOZmhpd2/jamjpgVEahzzXQO0R?= =?us-ascii?Q?um4lRibArD0w7Bh5f4vG/qbuGK67c2K7EHBut9tOKYhS/gZZzlXRzmQWEmQR?= =?us-ascii?Q?MBGsZmNJoWSX0I/CjT9B6z8qrIhJzdfopj9gqUBWXitlboifpDLjrGAwAwam?= =?us-ascii?Q?pB+YzWMXiCrsOBpWqAlt+GNSQo7Kl5VFiY6iGG9F4FJqQyifXl7HWo1xyz7x?= =?us-ascii?Q?TbyryogJAubiotib7KsP3XJkR53MXV3vlTvj/a8N557pWxrRZUxDoiprsrTp?= =?us-ascii?Q?MVS+KfMMZAe4L95RJRj8dTv0sK/um+x1rL4YvN/PA2Y8apEym4fdN6+cABYW?= =?us-ascii?Q?aWHYF4gXi8IIddWc38lXYo6oD/Y4c1iEqedRPaZ6jm9KNtIi4Wio1IHlQJc/?= =?us-ascii?Q?sBkGjP1ROfvYdUSewiIqAiuhMjIMxnnvZg2tGTRdQUAUY3NVYjYSlb517yDK?= =?us-ascii?Q?8TOPUqD2EpmOXxymdaYCqmQykNx9ffdlm0toIdo3l7PVB1o22MfMFkNQ0imy?= =?us-ascii?Q?7Q5UpIxHibqw/ZIExZ/QNMVjoSHKEW1jH+wf3fGs3wiu6AS3Ptkss3QFTI04?= =?us-ascii?Q?7Ey96UB6qj8KaP+VijkCOGsNKTODQjHxpbtTpVmxXZF4/acULZKWDJ45nPTT?= =?us-ascii?Q?7V8IyVvwSzYX/kyfkLDuTv63scQfeuDBHFQcGVvEYWoWLtQJ4FflXGrIyo9y?= =?us-ascii?Q?kvYs4b682UW5foFqSeN0RA8fcVtOz0AggW9fMfg5xnZjr5xrOYvb7SvercC/?= =?us-ascii?Q?25SX9FbM1bd6FN/08+Kmvu9RTrR5vDtlRSwmwTgdCTarhoe53nh22XQj+Dm+?= =?us-ascii?Q?21nfOJEdww=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB5863.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eedf8d9c-3bb2-4618-5574-08da23780085 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Apr 2022 09:19:13.7194 (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: 72WFMcVBcj5AamfHP+fvrI3aGqS+H93p63pypOmD8O1hayAGJJrsYQEDmLGrskt4f3SMMSScNmJ/mpWt0HMPIA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4447 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Patch looks good. Reviewed-by: Bob Feng -----Original Message----- From: Li, Yi1 =20 Sent: Monday, April 18, 2022 4:15 PM To: devel@edk2.groups.io Cc: Li, Yi1 ; Feng, Bob C ; Gao, Li= ming Subject: [PATCH 1/1] BaseTools: Move gPlatformFinalPcd to Datapipe and opti= mize size REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3828 This is a bugfix of bf9230a9f3dde065c3c8b4175ccd32e44e8f0362. 1.In the current code, gPlatformFinalPcd will save all PCDs used at whole c= ompile process, which wastes runtime memory and is unnecessary. This patch makes gPlatformFinalPcd save only the PCDes which are assigned i= n the DSC file, and the PCD that has not been assigned will use the default= value in DEC. 2.During the compilation process, gPlatformFinalPcd may be lost, and the cu= rrent code cannot selectively assign PCD in DSC by specifying ARCH. This patch moves gPlatformFinalPcd into datapipe and modifies the assignmen= t logicto fix this. Cc: Bob Feng Cc: Liming Gao Signed-off-by: yi1 li --- BaseTools/Source/Python/AutoGen/AutoGenWorker.py | 1 + BaseTools/Source/Python/AutoGen/DataPipe.py | 2 ++ BaseTools/Source/Python/Workspace/DscBuildData.py | 1 + BaseTools/Source= /Python/Workspace/InfBuildData.py | 15 +++++++++------ .../Source/Python/Workspace/WorkspaceCommon.py | 5 ----- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGenWorker.py b/BaseTools/S= ource/Python/AutoGen/AutoGenWorker.py index eea15239d42a..0ba2339bed64 100755 --- a/BaseTools/Source/Python/AutoGen/AutoGenWorker.py +++ b/BaseTools/Source/Python/AutoGen/AutoGenWorker.py @@ -216,6 +216,7 @@ class AutoGenWorkerInProcess(mp.Process): GlobalData.gModuleHashFile =3D dict() GlobalData.gFileHashDict =3D dict() GlobalData.gEnableGenfdsMultiThread =3D self.data_pipe.Get("En= ableGenfdsMultiThread") + GlobalData.gPlatformFinalPcds =3D=20 + self.data_pipe.Get("gPlatformFinalPcds") GlobalData.file_lock =3D self.file_lock CommandTarget =3D self.data_pipe.Get("CommandTarget") pcd_from_build_option =3D [] diff --git a/BaseTools/Source/Python/AutoGen/DataPipe.py b/BaseTools/Source= /Python/AutoGen/DataPipe.py index 41af343f6251..848c7a82963e 100755 --- a/BaseTools/Source/Python/AutoGen/DataPipe.py +++ b/BaseTools/Source/Python/AutoGen/DataPipe.py @@ -169,3 +169,5 @@ class MemoryDataPipe(DataPipe): self.DataContainer =3D {"BinCacheDest":GlobalData.gBinCacheDest} =20 self.DataContainer =3D {"EnableGenfdsMultiThread":GlobalData.gEnab= leGenfdsMultiThread} + + self.DataContainer =3D=20 + {"gPlatformFinalPcds":GlobalData.gPlatformFinalPcds} diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/= Source/Python/Workspace/DscBuildData.py index fc1e773417de..a9fdc5cafa06 100644 --- a/BaseTools/Source/Python/Workspace/DscBuildData.py +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py @@ -976,6 +976,7 @@ class DscBuildData(PlatformBuildClassObject): if (TokenSpaceGuid + '.' + PcdCName) in GlobalData.gPlatformPcds: if GlobalData.gPlatformPcds[TokenSpaceGuid + '.' + PcdCName] != =3D ValueList[Index]: GlobalData.gPlatformPcds[TokenSpaceGuid + '.' + PcdCName] = =3D ValueList[Index] + GlobalData.gPlatformFinalPcds[TokenSpaceGuid + '.' +=20 + PcdCName] =3D ValueList[Index] return ValueList =20 def _FilterPcdBySkuUsage(self, Pcds): diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/= Source/Python/Workspace/InfBuildData.py index cd23065b0c8e..5b9b3d7b4f01 100644 --- a/BaseTools/Source/Python/Workspace/InfBuildData.py +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py @@ -1054,17 +1054,20 @@ class InfBuildData(ModuleBuildClassObject): return True return False def CheckFeatureFlagPcd(self,Instance): - Pcds =3D {} - if GlobalData.gPlatformFinalPcds.get(self.Arch): - Pcds =3D GlobalData.gPlatformFinalPcds[self.Arch].copy() + Pcds =3D GlobalData.gPlatformFinalPcds.copy() if PcdPattern.search(Instance): PcdTuple =3D tuple(Instance.split('.')[::-1]) if PcdTuple in self.Pcds: - if not (self.Pcds[PcdTuple].Type =3D=3D 'FeatureFlag' or s= elf.Pcds[PcdTuple].Type =3D=3D 'FixedAtBuild') and Instance not in Pcds: + if not (self.Pcds[PcdTuple].Type =3D=3D 'FeatureFlag' or s= elf.Pcds[PcdTuple].Type =3D=3D 'FixedAtBuild'): EdkLogger.error('build', FORMAT_INVALID, - "\nit must be defined in a [PcdsFeatur= eFlag] or [PcdsFixedAtBuild] section of Dsc or Dec file or [FeaturePcd] or = [FixedPcd] of Inf file", + "\nFeatureFlagPcd must be defined=20 + in a [PcdsFeatureFlag] or [PcdsFixedAtBuild] section of Dsc or Dec=20 + file", File=3Dstr(self), ExtraData=3DInstance= ) - Pcds[Instance] =3D self.Pcds[PcdTuple].DefaultValue + if not Instance in Pcds: + Pcds[Instance] =3D self.Pcds[PcdTuple].DefaultValue + else: #if PcdTuple not in self.Pcds: + EdkLogger.error('build', FORMAT_INVALID, + "\nFeatureFlagPcd must be defined in [Feat= urePcd] or [FixedPcd] of Inf file", + File=3Dstr(self), ExtraData=3DInstance) if Instance in Pcds: if Pcds[Instance] =3D=3D '0': return False diff --git a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py b/BaseToo= ls/Source/Python/Workspace/WorkspaceCommon.py index 6564a34ba724..53027a0e30f5 100644 --- a/BaseTools/Source/Python/Workspace/WorkspaceCommon.py +++ b/BaseTools/Source/Python/Workspace/WorkspaceCommon.py @@ -75,11 +75,6 @@ def GetDeclaredPcd(Platform, BuildDatabase, Arch, Target= , Toolchain, additionalP break if (PcdCName, PcdTokenName) not in DecPcds: DecPcds[PcdCName, PcdTokenName] =3D Pkg.Pcds[Pcd] - if not GlobalData.gPlatformFinalPcds.get(Arch): - GlobalData.gPlatformFinalPcds[Arch] =3D OrderedDict() - for Name,Guid in DecPcds: - if DecPcds[Name,Guid].Type =3D=3D 'FeatureFlag' or DecPcds[Name, G= uid].Type =3D=3D 'FixedAtBuild': - GlobalData.gPlatformFinalPcds[Arch]['%s.%s'%(Guid, Name)]=3DDe= cPcds[Name, Guid].DefaultValue return DecPcds, GuidDict =20 ## Get all dependent libraries for a module -- 2.33.0.windows.2