]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Rollback Filter out unused structure pcds
authorFeng, Bob C <bob.c.feng@intel.com>
Fri, 26 Oct 2018 14:34:52 +0000 (22:34 +0800)
committerLiming Gao <liming.gao@intel.com>
Sat, 27 Oct 2018 07:28:27 +0000 (15:28 +0800)
This reverts commit 51d17bb7b0da0d9c9e91c226f1982d7020f43795.
commit 51d17bb7b0da0d9c9e91c226f1982d7020f43795 adds new check
of Pcds in the platform unused library INF files.
It breaks the existing platform.
To avoid the impact, roll back this change first.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob C Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Source/Python/Workspace/DscBuildData.py

index 9882a36df824509270215d0313ca9d72768aa5cc..6d596b2b540063eb02b1906e3b326613556303ea 100644 (file)
@@ -282,7 +282,6 @@ class DscBuildData(PlatformBuildClassObject):
         self._VpdToolGuid       = None\r
         self._MacroDict         = None\r
         self.DefaultStores      = None\r
-        self.UsedStructurePcd   = None\r
 \r
     ## handle Override Path of Module\r
     def _HandleOverridePath(self):\r
@@ -1470,7 +1469,6 @@ class DscBuildData(PlatformBuildClassObject):
                         else:\r
                             str_pcd_obj_str.DefaultFromDSC = {skuname:{defaultstore: str_pcd_obj.SkuInfoList[skuname].DefaultStoreDict.get(defaultstore, str_pcd_obj.SkuInfoList[skuname].DefaultValue) for defaultstore in DefaultStores} for skuname in str_pcd_obj.SkuInfoList}\r
                     S_pcd_set[Pcd] = str_pcd_obj_str\r
-        self.FilterStrcturePcd(S_pcd_set)\r
         if S_pcd_set:\r
             GlobalData.gStructurePcd[self.Arch] = S_pcd_set\r
         for stru_pcd in S_pcd_set.values():\r
@@ -1566,23 +1564,6 @@ class DscBuildData(PlatformBuildClassObject):
 \r
         map(self.FilterSkuSettings, [Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType])\r
         return Pcds\r
-    #Filter the StrucutrePcd that is not used by any module in dsc file and fdf file.\r
-    def FilterStrcturePcd(self, S_pcd_set):\r
-        if not self.UsedStructurePcd:\r
-            FdfInfList = []\r
-            if GlobalData.gFdfParser:\r
-                FdfInfList = GlobalData.gFdfParser.Profile.InfList\r
-            FdfModuleList = [PathClass(NormPath(Inf), GlobalData.gWorkspace, Arch=self._Arch) for Inf in FdfInfList]\r
-            AllModulePcds = set()\r
-            ModuleSet = set(self._Modules.keys() + self.LibraryInstances + FdfModuleList)\r
-            for ModuleFile in ModuleSet:\r
-                ModuleData = self._Bdb[ModuleFile, self._Arch, self._Target, self._Toolchain]\r
-                AllModulePcds = AllModulePcds | set(ModuleData.Pcds.keys())\r
-\r
-            self.UsedStructurePcd = AllModulePcds\r
-        UnusedStruPcds = set(S_pcd_set.keys()) - self.UsedStructurePcd\r
-        for (Token, TokenSpaceGuid) in UnusedStruPcds:\r
-            del S_pcd_set[(Token, TokenSpaceGuid)]\r
 \r
     ## Retrieve non-dynamic PCD settings\r
     #\r