+ if PcdInDec.DatumType in TAB_PCD_NUMERIC_TYPES:\r
+ PcdInDec.PcdValueFromComm = NoFiledValues[(Guid, Name)][0]\r
+ else:\r
+ PcdInDec.PcdValueFromComm = StringToArray(NoFiledValues[(Guid, Name)][0])\r
+ if PcdInDec.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],\r
+ self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE],\r
+ self._PCD_TYPE_STRING_[MODEL_PCD_FEATURE_FLAG],\r
+ self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC],\r
+ self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX]]:\r
+ self.Pcds[Name, Guid] = copy.deepcopy(PcdInDec)\r
+ if PcdInDec.DatumType in TAB_PCD_NUMERIC_TYPES:\r
+ self.Pcds[Name, Guid].DefaultValue = NoFiledValues[( Guid, Name)][0]\r
+ else:\r
+ self.Pcds[Name, Guid].DefaultValue = StringToArray(NoFiledValues[( Guid, Name)][0])\r
+ if PcdInDec.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC],\r
+ self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX]]:\r
+ if PcdInDec.DatumType in TAB_PCD_NUMERIC_TYPES:\r
+ self.Pcds[Name, Guid].SkuInfoList = {TAB_DEFAULT:SkuInfoClass(TAB_DEFAULT, self.SkuIds[TAB_DEFAULT][0], '', '', '', '', '', NoFiledValues[( Guid, Name)][0])}\r
+ else:\r
+ self.Pcds[Name, Guid].SkuInfoList = {TAB_DEFAULT:SkuInfoClass(TAB_DEFAULT, self.SkuIds[TAB_DEFAULT][0], '', '', '', '', '', StringToArray(NoFiledValues[( Guid, Name)][0]))}\r
+ return AllPcds\r
+\r
+ def OverrideByFdfOverAll(self,AllPcds):\r
+\r
+ if GlobalData.gFdfParser is None:\r
+ return AllPcds\r
+ NoFiledValues = GlobalData.gFdfParser.Profile.PcdDict\r
+ for Name,Guid,Field in NoFiledValues:\r
+ if len(Field):\r
+ continue\r
+ Value = NoFiledValues[(Name,Guid,Field)]\r
+ if (Name,Guid) in AllPcds:\r
+ Pcd = AllPcds.get((Name,Guid))\r
+ if isinstance(self._DecPcds.get((Pcd.TokenCName,Pcd.TokenSpaceGuidCName), None),StructurePcd):\r
+ self._DecPcds.get((Pcd.TokenCName,Pcd.TokenSpaceGuidCName)).PcdValueFromComm = Value\r
+ else:\r
+ Pcd.PcdValueFromComm = Value\r
+ Pcd.DefaultValue = Value\r
+ for sku in Pcd.SkuInfoList:\r
+ SkuInfo = Pcd.SkuInfoList[sku]\r
+ if SkuInfo.DefaultValue:\r
+ SkuInfo.DefaultValue = Value\r
+ else:\r
+ SkuInfo.HiiDefaultValue = Value\r
+ for defaultstore in SkuInfo.DefaultStoreDict:\r
+ SkuInfo.DefaultStoreDict[defaultstore] = Value\r
+ if Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII]]:\r
+ if Pcd.DatumType == TAB_VOID:\r
+ if not Pcd.MaxDatumSize:\r
+ Pcd.MaxDatumSize = '0'\r
+ CurrentSize = int(Pcd.MaxDatumSize,16) if Pcd.MaxDatumSize.upper().startswith("0X") else int(Pcd.MaxDatumSize)\r
+ OptionSize = len((StringToArray(Pcd.PcdValueFromComm)).split(","))\r
+ MaxSize = max(CurrentSize, OptionSize)\r
+ Pcd.MaxDatumSize = str(MaxSize)\r
+ else:\r
+ PcdInDec = self.DecPcds.get((Name,Guid))\r
+ if PcdInDec:\r
+ PcdInDec.PcdValueFromFdf = Value\r