def _CheckAllPcdsTokenValueConflict(self):\r
for Pa in self.AutoGenObjectList:\r
for Package in Pa.PackageList:\r
- PcdList = Package.Pcds.values()\r
+ PcdList = list(Package.Pcds.values())\r
PcdList.sort(key=lambda x: int(x.TokenValue, 0))\r
Count = 0\r
while (Count < len(PcdList) - 1) :\r
Count += SameTokenValuePcdListCount\r
Count += 1\r
\r
- PcdList = Package.Pcds.values()\r
+ PcdList = list(Package.Pcds.values())\r
PcdList.sort(key=lambda x: "%s.%s" % (x.TokenSpaceGuidCName, x.TokenCName))\r
Count = 0\r
while (Count < len(PcdList) - 1) :\r
if os.path.exists(VpdMapFilePath):\r
OrgVpdFile.Read(VpdMapFilePath)\r
PcdItems = OrgVpdFile.GetOffset(PcdNvStoreDfBuffer[0])\r
- NvStoreOffset = PcdItems.values()[0].strip() if PcdItems else '0'\r
+ NvStoreOffset = list(PcdItems.values())[0].strip() if PcdItems else '0'\r
else:\r
EdkLogger.error("build", FILE_READ_FAILURE, "Can not find VPD map file %s to fix up VPD offset." % VpdMapFilePath)\r
\r
if (self.Workspace.ArchList[-1] == self.Arch):\r
for Pcd in self._DynamicPcdList:\r
# just pick the a value to determine whether is unicode string type\r
- Sku = Pcd.SkuInfoList.values()[0]\r
+ Sku = Pcd.SkuInfoList.get(TAB_DEFAULT)\r
Sku.VpdOffset = Sku.VpdOffset.strip()\r
\r
if Pcd.DatumType not in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, TAB_VOID, "BOOLEAN"]:\r
if not FoundFlag :\r
# just pick the a value to determine whether is unicode string type\r
SkuValueMap = {}\r
- SkuObjList = DscPcdEntry.SkuInfoList.items()\r
+ SkuObjList = list(DscPcdEntry.SkuInfoList.items())\r
DefaultSku = DscPcdEntry.SkuInfoList.get(TAB_DEFAULT)\r
if DefaultSku:\r
defaultindex = SkuObjList.index((TAB_DEFAULT, DefaultSku))\r
DscPcdEntry.TokenSpaceGuidValue = eachDec.Guids[DecPcdEntry.TokenSpaceGuidCName]\r
# Only fix the value while no value provided in DSC file.\r
if not Sku.DefaultValue:\r
- DscPcdEntry.SkuInfoList[DscPcdEntry.SkuInfoList.keys()[0]].DefaultValue = DecPcdEntry.DefaultValue\r
+ DscPcdEntry.SkuInfoList[list(DscPcdEntry.SkuInfoList.keys())[0]].DefaultValue = DecPcdEntry.DefaultValue\r
\r
if DscPcdEntry not in self._DynamicPcdList:\r
self._DynamicPcdList.append(DscPcdEntry)\r
# Delete the DynamicPcdList At the last time enter into this function\r
for Pcd in self._DynamicPcdList:\r
# just pick the a value to determine whether is unicode string type\r
- Sku = Pcd.SkuInfoList.values()[0]\r
+ Sku = Pcd.SkuInfoList.get(TAB_DEFAULT)\r
Sku.VpdOffset = Sku.VpdOffset.strip()\r
\r
if Pcd.DatumType not in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64, TAB_VOID, "BOOLEAN"]:\r
Pcd.MaxDatumSize = str(len(Value.split(',')))\r
else:\r
Pcd.MaxDatumSize = str(len(Value) - 1)\r
- return Pcds.values()\r
+ return list(Pcds.values())\r
\r
\r
\r
# Use the highest priority value.\r
#\r
if (len(OverrideList) >= 2):\r
- KeyList = OverrideList.keys()\r
+ KeyList = list(OverrideList.keys())\r
for Index in range(len(KeyList)):\r
NowKey = KeyList[Index]\r
Target1, ToolChain1, Arch1, CommandType1, Attr1 = NowKey.split("_")\r
if Attr == TAB_TOD_DEFINES_BUILDRULEORDER:\r
BuildRuleOrder = Options[Tool][Attr]\r
\r
- AllTools = set(ModuleOptions.keys() + PlatformOptions.keys() +\r
- PlatformModuleOptions.keys() + ModuleTypeOptions.keys() +\r
- self.ToolDefinition.keys())\r
+ AllTools = set(list(ModuleOptions.keys()) + list(PlatformOptions.keys()) +\r
+ list(PlatformModuleOptions.keys()) + list(ModuleTypeOptions.keys()) +\r
+ list(self.ToolDefinition.keys()))\r
BuildOptions = defaultdict(lambda: defaultdict(str))\r
for Tool in AllTools:\r
for Options in [self.ToolDefinition, ModuleOptions, PlatformOptions, ModuleTypeOptions, PlatformModuleOptions]:\r
return None\r
MapFileName = os.path.join(self.OutputDir, self.Name + ".map")\r
EfiFileName = os.path.join(self.OutputDir, self.Name + ".efi")\r
- VfrUniOffsetList = GetVariableOffset(MapFileName, EfiFileName, VfrUniBaseName.values())\r
+ VfrUniOffsetList = GetVariableOffset(MapFileName, EfiFileName, list(VfrUniBaseName.values()))\r
if not VfrUniOffsetList:\r
return None\r
\r
if Guid in Info.Module.GetGuidsUsedByPcd():\r
continue\r
GuidMacros.append('#define %s %s' % (Guid, Info.Module.Guids[Guid]))\r
- for Guid, Value in Info.Module.Protocols.items() + Info.Module.Ppis.items():\r
+ for Guid, Value in list(Info.Module.Protocols.items()) + list(Info.Module.Ppis.items()):\r
GuidMacros.append('#define %s %s' % (Guid, Value))\r
# supports FixedAtBuild and FeaturePcd usage in VFR file\r
if Info.VfrFileList and Info.ModulePcdList:\r
"separator" : Separator,\r
"module_tool_definitions" : ToolsDef,\r
\r
- "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
- "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
+ "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
+ "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
\r
"module_entry_point" : ModuleEntryPoint,\r
"image_entry_point" : ImageEntryPoint,\r
"separator" : Separator,\r
"module_tool_definitions" : ToolsDef,\r
\r
- "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
- "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
+ "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
+ "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
\r
"create_directory_command" : self.GetCreateDirectoryCommand(self.IntermediateDirectoryList),\r
"custom_makefile_content" : CustomMakefile\r
\r
"toolchain_tag" : MyAgo.ToolChain,\r
"build_target" : MyAgo.BuildTarget,\r
- "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
- "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
+ "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
+ "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
"build_architecture_list" : MyAgo.Arch,\r
"architecture" : MyAgo.Arch,\r
"separator" : Separator,\r
\r
"toolchain_tag" : MyAgo.ToolChain,\r
"build_target" : MyAgo.BuildTarget,\r
- "shell_command_code" : self._SHELL_CMD_[self._FileType].keys(),\r
- "shell_command" : self._SHELL_CMD_[self._FileType].values(),\r
+ "shell_command_code" : list(self._SHELL_CMD_[self._FileType].keys()),\r
+ "shell_command" : list(self._SHELL_CMD_[self._FileType].values()),\r
'arch' : list(MyAgo.ArchList),\r
"build_architecture_list" : ','.join(MyAgo.ArchList),\r
"separator" : Separator,\r
DbVardefValueUint32 = DbItemList(4, RawDataList = VardefValueUint32)\r
VpdHeadValue = Dict['VPD_DB_VALUE']\r
DbVpdHeadValue = DbComItemList(4, RawDataList = VpdHeadValue)\r
- ExMapTable = zip(Dict['EXMAPPING_TABLE_EXTOKEN'], Dict['EXMAPPING_TABLE_LOCAL_TOKEN'], Dict['EXMAPPING_TABLE_GUID_INDEX'])\r
+ ExMapTable = list(zip(Dict['EXMAPPING_TABLE_EXTOKEN'], Dict['EXMAPPING_TABLE_LOCAL_TOKEN'], Dict['EXMAPPING_TABLE_GUID_INDEX']))\r
DbExMapTable = DbExMapTblItemList(8, RawDataList = ExMapTable)\r
LocalTokenNumberTable = Dict['LOCAL_TOKEN_NUMBER_DB_VALUE']\r
DbLocalTokenNumberTable = DbItemList(4, RawDataList = LocalTokenNumberTable)\r
PcdNameOffsetTable = Dict['PCD_NAME_OFFSET']\r
DbPcdNameOffsetTable = DbItemList(4, RawDataList = PcdNameOffsetTable)\r
\r
- SizeTableValue = zip(Dict['SIZE_TABLE_MAXIMUM_LENGTH'], Dict['SIZE_TABLE_CURRENT_LENGTH'])\r
+ SizeTableValue = list(zip(Dict['SIZE_TABLE_MAXIMUM_LENGTH'], Dict['SIZE_TABLE_CURRENT_LENGTH']))\r
DbSizeTableValue = DbSizeTableItemList(2, RawDataList = SizeTableValue)\r
InitValueUint16 = Dict['INIT_DB_VALUE_UINT16']\r
DbInitValueUint16 = DbComItemList(2, RawDataList = InitValueUint16)\r
#\r
# support ISO 639-2 codes in .UNI files of EDK Shell\r
#\r
- Uni = UniFileClassObject(sorted (UniFilList), True, IncludePathList)\r
+ Uni = UniFileClassObject(sorted(UniFilList, key=lambda x: x.File), True, IncludePathList)\r
else:\r
- Uni = UniFileClassObject(sorted (UniFilList), IsCompatibleMode, IncludePathList)\r
+ Uni = UniFileClassObject(sorted(UniFilList, key=lambda x: x.File), IsCompatibleMode, IncludePathList)\r
else:\r
EdkLogger.error("UnicodeStringGather", AUTOGEN_ERROR, 'No unicode files given')\r
\r
#\r
def GuidValue(CName, PackageList, Inffile = None):\r
for P in PackageList:\r
- GuidKeys = P.Guids.keys()\r
+ GuidKeys = list(P.Guids.keys())\r
if Inffile and P._PrivateGuids:\r
if not Inffile.startswith(P.MetaFile.Dir):\r
GuidKeys = [x for x in P.Guids if x not in P._PrivateGuids]\r
if CName in GuidKeys:\r
return P.Guids[CName]\r
return None\r
+ return None\r
\r
## A string template class\r
#\r
self.SkuIdSet = ['DEFAULT']\r
self.SkuIdNumberSet = ['0U']\r
elif SkuIdentifier == 'ALL':\r
- self.SkuIdSet = SkuIds.keys()\r
+ self.SkuIdSet = list(SkuIds.keys())\r
self.SkuIdNumberSet = [num[0].strip() + 'U' for num in SkuIds.values()]\r
else:\r
r = SkuIdentifier.split('|')\r
# @retval list() A list for splitted string\r
#\r
def GetSplitList(String, SplitStr=DataType.TAB_VALUE_SPLIT, MaxSplit= -1):\r
- return map(lambda l: l.strip(), String.split(SplitStr, MaxSplit))\r
+ return list(map(lambda l: l.strip(), String.split(SplitStr, MaxSplit)))\r
\r
## MergeArches\r
#\r
#\r
LineList[1] = CleanString(LineList[1], CommentCharacter)\r
if ValueSplitFlag:\r
- Value = map(string.strip, LineList[1].split(ValueSplitCharacter))\r
+ Value = list(map(string.strip, LineList[1].split(ValueSplitCharacter)))\r
else:\r
Value = CleanString(LineList[1], CommentCharacter).splitlines()\r
\r
# @param StringList: A list for strings to be converted\r
#\r
def ConvertToSqlString(StringList):\r
- return map(lambda s: s.replace("'", "''"), StringList)\r
+ return list(map(lambda s: s.replace("'", "''"), StringList))\r
\r
## Convert To Sql String\r
#\r
def __GetBuildOutputMapFileVfrUniInfo(self, VfrUniBaseName):\r
MapFileName = os.path.join(self.EfiOutputPath, self.BaseName + ".map")\r
EfiFileName = os.path.join(self.EfiOutputPath, self.BaseName + ".efi")\r
- return GetVariableOffset(MapFileName, EfiFileName, VfrUniBaseName.values())\r
+ return GetVariableOffset(MapFileName, EfiFileName, list(VfrUniBaseName.values()))\r
\r
## __GenUniVfrOffsetFile() method\r
#\r
elif TAB_DEFAULT in pcd.SkuInfoList and TAB_COMMON in pcd.SkuInfoList:\r
del pcd.SkuInfoList[TAB_COMMON]\r
\r
- map(self.FilterSkuSettings, [Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType])\r
+ list((self.FilterSkuSettings, [Pcds[pcdkey] for pcdkey in Pcds if Pcds[pcdkey].Type in DynamicPcdType]))\r
return Pcds\r
@cached_property\r
def PlatformUsedPcds(self):\r
if BuildOptions:\r
ArchBuildOptions = {arch:flags for arch,flags in BuildOptions.items() if arch != 'COMMON'}\r
if len(ArchBuildOptions.keys()) == 1:\r
- BuildOptions['COMMON'] |= (ArchBuildOptions.values()[0])\r
+ BuildOptions['COMMON'] |= (list(ArchBuildOptions.values())[0])\r
elif len(ArchBuildOptions.keys()) > 1:\r
CommonBuildOptions = reduce(lambda x,y: x&y, ArchBuildOptions.values())\r
BuildOptions['COMMON'] |= CommonBuildOptions\r
elif TAB_DEFAULT in pcd.SkuInfoList and TAB_COMMON in pcd.SkuInfoList:\r
del pcd.SkuInfoList[TAB_COMMON]\r
\r
- map(self.FilterSkuSettings, Pcds.values())\r
+ list(map(self.FilterSkuSettings, Pcds.values()))\r
\r
return Pcds\r
\r
PcdObj.SkuInfoList[skuname].SkuId = skuid\r
PcdObj.SkuInfoList[skuname].SkuIdName = skuname\r
if PcdType in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII]]:\r
- PcdObj.DefaultValue = PcdObj.SkuInfoList.values()[0].HiiDefaultValue if self.SkuIdMgr.SkuUsageType == self.SkuIdMgr.SINGLE else PcdObj.SkuInfoList[TAB_DEFAULT].HiiDefaultValue\r
+ PcdObj.DefaultValue = list(PcdObj.SkuInfoList.values())[0].HiiDefaultValue if self.SkuIdMgr.SkuUsageType == self.SkuIdMgr.SINGLE else PcdObj.SkuInfoList[TAB_DEFAULT].HiiDefaultValue\r
Pcds[PcdCName, TokenSpaceGuid]= PcdObj\r
return Pcds\r
## Retrieve dynamic HII PCD settings\r
Pcds[PcdCName, TokenSpaceGuid].DscRawValue[SkuName] = {}\r
Pcds[PcdCName, TokenSpaceGuid].DscRawValue[SkuName][DefaultStore] = DefaultValue\r
for pcd in Pcds.values():\r
- SkuInfoObj = pcd.SkuInfoList.values()[0]\r
pcdDecObject = self._DecPcds[pcd.TokenCName, pcd.TokenSpaceGuidCName]\r
pcd.DatumType = pcdDecObject.DatumType\r
# Only fix the value while no value provided in DSC file.\r
sku.DefaultStoreDict[default_store]=pcdDecObject.DefaultValue\r
pcd.DefaultValue = pcdDecObject.DefaultValue\r
if TAB_DEFAULT not in pcd.SkuInfoList and TAB_COMMON not in pcd.SkuInfoList:\r
+ SkuInfoObj = list(pcd.SkuInfoList.values())[0]\r
valuefromDec = pcdDecObject.DefaultValue\r
SkuInfo = SkuInfoClass(TAB_DEFAULT, '0', SkuInfoObj.VariableName, SkuInfoObj.VariableGuid, SkuInfoObj.VariableOffset, valuefromDec, VariableAttribute=SkuInfoObj.VariableAttribute, DefaultStore={DefaultStore:valuefromDec})\r
pcd.SkuInfoList[TAB_DEFAULT] = SkuInfo\r
invalidpcd = ",".join(invalidhii)\r
EdkLogger.error('build', PCD_VARIABLE_INFO_ERROR, Message='The same HII PCD must map to the same EFI variable for all SKUs', File=self.MetaFile, ExtraData=invalidpcd)\r
\r
- map(self.FilterSkuSettings, Pcds.values())\r
+ list(map(self.FilterSkuSettings, Pcds.values()))\r
\r
return Pcds\r
\r
Pcds[PcdCName, TokenSpaceGuid].DscRawValue[SkuName] = {}\r
Pcds[PcdCName, TokenSpaceGuid].DscRawValue[SkuName][TAB_DEFAULT_STORES_DEFAULT] = InitialValue\r
for pcd in Pcds.values():\r
- SkuInfoObj = pcd.SkuInfoList.values()[0]\r
pcdDecObject = self._DecPcds[pcd.TokenCName, pcd.TokenSpaceGuidCName]\r
pcd.DatumType = pcdDecObject.DatumType\r
# Only fix the value while no value provided in DSC file.\r
if not sku.DefaultValue:\r
sku.DefaultValue = pcdDecObject.DefaultValue\r
if TAB_DEFAULT not in pcd.SkuInfoList and TAB_COMMON not in pcd.SkuInfoList:\r
+ SkuInfoObj = list(pcd.SkuInfoList.values())[0]\r
valuefromDec = pcdDecObject.DefaultValue\r
SkuInfo = SkuInfoClass(TAB_DEFAULT, '0', '', '', '', '', SkuInfoObj.VpdOffset, valuefromDec)\r
pcd.SkuInfoList[TAB_DEFAULT] = SkuInfo\r
for sku in pcd.SkuInfoList.values():\r
sku.DefaultValue = StringToArray(sku.DefaultValue) if sku.DefaultValue.startswith(('L"',"L'")) else sku.DefaultValue\r
\r
- map(self.FilterSkuSettings, Pcds.values())\r
+ list(map(self.FilterSkuSettings, Pcds.values()))\r
return Pcds\r
\r
## Add external modules\r
#\r
def _ProtocolValue(CName, PackageList, Inffile = None):\r
for P in PackageList:\r
- ProtocolKeys = P.Protocols.keys()\r
+ ProtocolKeys = list(P.Protocols.keys())\r
if Inffile and P._PrivateProtocols:\r
if not Inffile.startswith(P.MetaFile.Dir):\r
ProtocolKeys = [x for x in P.Protocols if x not in P._PrivateProtocols]\r
#\r
def _PpiValue(CName, PackageList, Inffile = None):\r
for P in PackageList:\r
- PpiKeys = P.Ppis.keys()\r
+ PpiKeys = list(P.Ppis.keys())\r
if Inffile and P._PrivatePpis:\r
if not Inffile.startswith(P.MetaFile.Dir):\r
PpiKeys = [x for x in P.Ppis if x not in P._PrivatePpis]\r
\r
## Convert to SQL required string format\r
def ConvertToSqlString(StringList):\r
- return map(lambda s: "'" + s.replace("'", "''") + "'", StringList)\r
+ return list(map(lambda s: "'" + s.replace("'", "''") + "'", StringList))\r
\r
## TableFile\r
#\r
def ParseStruct(self, struct):\r
HasDscOverride = False\r
if struct:\r
- for _, Values in struct.items():\r
+ for _, Values in list(struct.items()):\r
for Key, value in Values.items():\r
if value[1] and value[1].endswith('.dsc'):\r
HasDscOverride = True\r
FiledOverrideFlag = False\r
OverrideValues = Pcd.SkuOverrideValues[Sku]\r
if OverrideValues:\r
- Keys = OverrideValues.keys()\r
+ Keys = list(OverrideValues.keys())\r
OverrideFieldStruct = self.OverrideFieldValue(Pcd, OverrideValues[Keys[0]])\r
self.PrintStructureInfo(File, OverrideFieldStruct)\r
FiledOverrideFlag = True\r
\r
# get all pending tasks\r
BuildTask._PendingQueueLock.acquire()\r
- BuildObjectList = BuildTask._PendingQueue.keys()\r
+ BuildObjectList = list(BuildTask._PendingQueue.keys())\r
#\r
# check if their dependency is resolved, and if true, move them\r
# into ready queue\r