IsByteArray = False\r
SplitNum = 16\r
ArrayList = []\r
- if Value.startswith('{') and Value.endswith('}'):\r
+ if Value.startswith('{') and Value.endswith('}') and not Value.startswith("{CODE("):\r
Value = Value[1:-1]\r
ValueList = Value.split(',')\r
if len(ValueList) >= SplitNum:\r
# Collect the PCD defined in DSC/FDF file, but not used in module\r
#\r
UnusedPcdFullList = []\r
+ StructPcdDict = GlobalData.gStructurePcd.get(self.Arch, collections.OrderedDict())\r
+ for Name, Guid in StructPcdDict:\r
+ if (Name, Guid) not in Pa.Platform.Pcds:\r
+ Pcd = StructPcdDict[(Name, Guid)]\r
+ PcdList = self.AllPcds.setdefault(Guid, {}).setdefault(Pcd.Type, [])\r
+ if Pcd not in PcdList and Pcd not in UnusedPcdFullList:\r
+ UnusedPcdFullList.append(Pcd)\r
for item in Pa.Platform.Pcds:\r
Pcd = Pa.Platform.Pcds[item]\r
if not Pcd.Type:\r
SkuList = sorted(Pcd.SkuInfoList.keys())\r
for Sku in SkuList:\r
SkuInfo = Pcd.SkuInfoList[Sku]\r
- if TypeName in ('DYNHII', 'DEXHII'):\r
- if SkuInfo.DefaultStoreDict:\r
- DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys())\r
- for DefaultStore in DefaultStoreList:\r
- OverrideValues = Pcd.SkuOverrideValues[Sku]\r
- DscOverride = self.ParseStruct(OverrideValues[DefaultStore])\r
- if DscOverride:\r
- break\r
- else:\r
- OverrideValues = Pcd.SkuOverrideValues[Sku]\r
- if OverrideValues:\r
- Keys = list(OverrideValues.keys())\r
- OverrideFieldStruct = self.OverrideFieldValue(Pcd, OverrideValues[Keys[0]])\r
- DscOverride = self.ParseStruct(OverrideFieldStruct)\r
+ if SkuInfo.DefaultStoreDict:\r
+ DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys())\r
+ for DefaultStore in DefaultStoreList:\r
+ OverrideValues = Pcd.SkuOverrideValues[Sku]\r
+ DscOverride = self.ParseStruct(OverrideValues[DefaultStore])\r
+ if DscOverride:\r
+ break\r
if DscOverride:\r
break\r
if DscOverride:\r
FileWrite(File, ' %-*s : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
if IsStructure:\r
FiledOverrideFlag = False\r
- OverrideValues = Pcd.SkuOverrideValues\r
+ if (Pcd.TokenCName,Pcd.TokenSpaceGuidCName) in GlobalData.gPcdSkuOverrides:\r
+ OverrideValues = GlobalData.gPcdSkuOverrides[(Pcd.TokenCName,Pcd.TokenSpaceGuidCName)]\r
+ else:\r
+ OverrideValues = Pcd.SkuOverrideValues\r
if OverrideValues:\r
for Data in OverrideValues.values():\r
Struct = list(Data.values())\r
GuidList = os.path.join(self._EotDir, "GuidList.txt")\r
DispatchList = os.path.join(self._EotDir, "Dispatch.txt")\r
\r
- TempFile = open(SourceList, "w+")\r
+ TempFile = []\r
for Item in self._SourceList:\r
FileWrite(TempFile, Item)\r
- TempFile.close()\r
- TempFile = open(GuidList, "w+")\r
+ SaveFileOnChange(SourceList, "".join(TempFile), False)\r
+ TempFile = []\r
for Key in self._GuidMap:\r
FileWrite(TempFile, "%s %s" % (Key, self._GuidMap[Key]))\r
- TempFile.close()\r
+ SaveFileOnChange(GuidList, "".join(TempFile), False)\r
\r
try:\r
from Eot.EotMain import Eot\r