X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FAutoGen%2FGenPcdDb.py;h=25e4f7246e3ae0742d00ebbb07bc389e942e73b1;hb=caf744956d4c8c0ef358bdc3df2cdb10265c2ea8;hp=8053202289077a130654133ba245afa5bb14e946;hpb=8b88b1634fa91fc8c3faedae8fec85c52d5a9260;p=mirror_edk2.git diff --git a/BaseTools/Source/Python/AutoGen/GenPcdDb.py b/BaseTools/Source/Python/AutoGen/GenPcdDb.py index 8053202289..25e4f7246e 100644 --- a/BaseTools/Source/Python/AutoGen/GenPcdDb.py +++ b/BaseTools/Source/Python/AutoGen/GenPcdDb.py @@ -12,7 +12,7 @@ # from StringIO import StringIO from Common.Misc import * -from Common.String import StringToArray +from Common.StringUtils import StringToArray from struct import pack from ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB_CONTAINER from ValidCheckingInfoObject import VAR_CHECK_PCD_VARIABLE_TAB @@ -287,38 +287,9 @@ class DbItemList: # def PackGuid(GuidStructureValue): GuidString = GuidStructureStringToGuidString(GuidStructureValue) - Guid = GuidString.split('-') - Buffer = pack('=LHHBBBBBBBB', - int(Guid[0], 16), - int(Guid[1], 16), - int(Guid[2], 16), - int(Guid[3][-4:-2], 16), - int(Guid[3][-2:], 16), - int(Guid[4][-12:-10], 16), - int(Guid[4][-10:-8], 16), - int(Guid[4][-8:-6], 16), - int(Guid[4][-6:-4], 16), - int(Guid[4][-4:-2], 16), - int(Guid[4][-2:], 16) - ) - return Buffer - - if self.ItemSize == 8: - PackStr = "=Q" - elif self.ItemSize == 4: - PackStr = "=L" - elif self.ItemSize == 2: - PackStr = "=H" - elif self.ItemSize == 1: - PackStr = "=B" - elif self.ItemSize == 0: - PackStr = "=B" - elif self.ItemSize == 16: - # pack Guid - PackStr = '' - else: - # should not reach here - assert(False) + return PackGUID(GuidString.split('-')) + + PackStr = PACK_CODE_BY_SIZE[self.ItemSize] Buffer = '' for Datas in self.RawDataList: @@ -392,18 +363,7 @@ class DbComItemList (DbItemList): return self.ListSize def PackData(self): - if self.ItemSize == 8: - PackStr = "=Q" - elif self.ItemSize == 4: - PackStr = "=L" - elif self.ItemSize == 2: - PackStr = "=H" - elif self.ItemSize == 1: - PackStr = "=B" - elif self.ItemSize == 0: - PackStr = "=B" - else: - assert(False) + PackStr = PACK_CODE_BY_SIZE[self.ItemSize] Buffer = '' for DataList in self.RawDataList: @@ -831,19 +791,7 @@ def BuildExDataBase(Dict): # Construct the database buffer Guid = "{0x3c7d193c, 0x682c, 0x4c14, 0xa6, 0x8f, 0x55, 0x2d, 0xea, 0x4f, 0x43, 0x7e}" Guid = StringArrayToList(Guid) - Buffer = pack('=LHHBBBBBBBB', - Guid[0], - Guid[1], - Guid[2], - Guid[3], - Guid[4], - Guid[5], - Guid[6], - Guid[7], - Guid[8], - Guid[9], - Guid[10], - ) + Buffer = PackByteFormatGUID(Guid) b = pack("=L", DATABASE_VERSION) Buffer += b @@ -1167,7 +1115,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): TokenSpaceGuid = GuidStructureStringToGuidValueName(TokenSpaceGuidStructure) if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET: if TokenSpaceGuid not in GuidList: - GuidList += [TokenSpaceGuid] + GuidList.append(TokenSpaceGuid) Dict['GUID_STRUCTURE'].append(TokenSpaceGuidStructure) NumberOfExTokens += 1 @@ -1192,7 +1140,6 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): Pcd.TokenTypeList = ['PCD_DATUM_TYPE_' + Pcd.DatumType] if len(Pcd.SkuInfoList) > 1: -# Pcd.TokenTypeList += ['PCD_TYPE_SKU_ENABLED'] NumberOfSkuEnabledPcd += 1 SkuIdIndex = 1 @@ -1230,7 +1177,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): else: EdkLogger.error("build", PCD_VALIDATION_INFO_ERROR, "The PCD '%s.%s' Validation information defined in DEC file has incorrect format." % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName)) - Pcd.TokenTypeList += ['PCD_TYPE_HII'] + Pcd.TokenTypeList.append('PCD_TYPE_HII') Pcd.InitString = 'INIT' # Store all variable names of one HII PCD under different SKU to stringTable # and calculate the VariableHeadStringIndex @@ -1261,7 +1208,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): # store VariableGuid to GuidTable and get the VariableHeadGuidIndex if VariableGuid not in GuidList: - GuidList += [VariableGuid] + GuidList.append(VariableGuid) Dict['GUID_STRUCTURE'].append(VariableGuidStructure) VariableHeadGuidIndex = GuidList.index(VariableGuid) @@ -1313,7 +1260,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): VariableDbValueList.append([VariableHeadGuidIndex, VariableHeadStringIndex, Sku.VariableOffset, VariableOffset, VariableRefTable, Sku.VariableAttribute]) elif Sku.VpdOffset != '': - Pcd.TokenTypeList += ['PCD_TYPE_VPD'] + Pcd.TokenTypeList.append('PCD_TYPE_VPD') Pcd.InitString = 'INIT' VpdHeadOffsetList.append(str(Sku.VpdOffset) + 'U') VpdDbOffsetList.append(Sku.VpdOffset) @@ -1325,7 +1272,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): continue if Pcd.DatumType == TAB_VOID: - Pcd.TokenTypeList += ['PCD_TYPE_STRING'] + Pcd.TokenTypeList.append('PCD_TYPE_STRING') Pcd.InitString = 'INIT' if Sku.HiiDefaultValue != '' and Sku.DefaultValue == '': Sku.DefaultValue = Sku.HiiDefaultValue @@ -1374,7 +1321,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase): StringTableSize += (StringTabLen) else: if "PCD_TYPE_HII" not in Pcd.TokenTypeList: - Pcd.TokenTypeList += ['PCD_TYPE_DATA'] + Pcd.TokenTypeList.append('PCD_TYPE_DATA') if Sku.DefaultValue == 'TRUE': Pcd.InitString = 'INIT' else: