# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
+from __future__ import absolute_import\r
from io import BytesIO\r
from Common.Misc import *\r
from Common.StringUtils import StringToArray\r
import copy\r
from struct import unpack\r
from Common.DataType import *\r
+from Common import GlobalData\r
+from Common import EdkLogger\r
+import Common.LongFilePathOs as os\r
\r
DATABASE_VERSION = 7\r
\r
Offset = 0\r
if self.ItemSize == 0:\r
#\r
- # Variable length, need to calculte one by one\r
+ # Variable length, need to calculate one by one\r
# The only variable table is stringtable, it is not Composite item, should not reach here\r
#\r
assert(False)\r
Dict['STRING_TABLE_DB_VALUE'] = [StringArrayToList(x) for x in Dict['STRING_TABLE_VALUE']]\r
\r
StringTableValue = Dict['STRING_TABLE_DB_VALUE']\r
- # when calcute the offset, should use StringTableLen instead of StringTableValue, as string maxium len may be different with actual len\r
+ # when calcute the offset, should use StringTableLen instead of StringTableValue, as string maximum len may be different with actual len\r
StringTableLen = Dict['STRING_TABLE_LENGTH']\r
DbStringTableLen = DbStringItemList(0, RawDataList = StringTableValue, LenList = StringTableLen)\r
\r
Index = 0\r
for Item in DbItemTotal:\r
Index +=1\r
- b = bytes(Item.PackData())\r
- Buffer += b\r
+ packdata = Item.PackData()\r
+ for i in range(len(packdata)):\r
+ Buffer += packdata[i:i + 1]\r
if Index == InitTableNum:\r
if len(Buffer) % 8:\r
for num in range(8 - len(Buffer) % 8):\r
totallenbuff = pack("=L", totallen)\r
newbuffer = databasebuff[:32]\r
for i in range(4):\r
- newbuffer += bytes([totallenbuff[i]])\r
+ newbuffer += totallenbuff[i:i+1]\r
for i in range(36, totallen):\r
- newbuffer += bytes([databasebuff[i]])\r
+ newbuffer += databasebuff[i:i+1]\r
\r
return newbuffer\r
\r
for skuname, skuid in DynamicPcdSet_Sku:\r
AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer, VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdSet_Sku[(skuname, skuid)], Phase)\r
final_data = ()\r
- for item in PcdDbBuffer:\r
- final_data += unpack("B", bytes([item]))\r
+ for item in range(len(PcdDbBuffer)):\r
+ final_data += unpack("B", PcdDbBuffer[item:item+1])\r
PcdDBData[(skuname, skuid)] = (PcdDbBuffer, final_data)\r
PcdDriverAutoGenData[(skuname, skuid)] = (AdditionalAutoGenH, AdditionalAutoGenC)\r
VarCheckTableData[(skuname, skuid)] = VarCheckTab\r
else:\r
AdditionalAutoGenH, AdditionalAutoGenC, PcdDbBuffer, VarCheckTab = CreatePcdDatabasePhaseSpecificAutoGen (Platform, {}, Phase)\r
final_data = ()\r
- for item in PcdDbBuffer:\r
- final_data += unpack("B", bytes([item]))\r
+ for item in range(len(PcdDbBuffer)):\r
+ final_data += unpack("B", PcdDbBuffer[item:item + 1])\r
PcdDBData[(TAB_DEFAULT, "0")] = (PcdDbBuffer, final_data)\r
\r
return AdditionalAutoGenH, AdditionalAutoGenC, CreatePcdDataBase(PcdDBData)\r
'SKUID_TABLE_EMPTY' : 'TRUE',\r
'DATABASE_EMPTY' : 'TRUE',\r
'EXMAP_TABLE_EMPTY' : 'TRUE',\r
- 'PCD_DATABASE_UNINIT_EMPTY' : ' UINT8 dummy; /* PCD_DATABASE_UNINIT is emptry */',\r
+ 'PCD_DATABASE_UNINIT_EMPTY' : ' UINT8 dummy; /* PCD_DATABASE_UNINIT is empty */',\r
'SYSTEM_SKU_ID' : ' SKU_ID SystemSkuId;',\r
'SYSTEM_SKU_ID_VALUE' : '0U'\r
}\r
\r
DbValueList.append(Sku.DefaultValue)\r
\r
- Pcd.TokenTypeList = sorted(set(Pcd.TokenTypeList))\r
+ Pcd.TokenTypeList = list(set(Pcd.TokenTypeList))\r
if Pcd.DatumType == TAB_VOID:\r
Dict['SIZE_TABLE_CNAME'].append(CName)\r
Dict['SIZE_TABLE_GUID'].append(TokenSpaceGuid)\r
Dict['PCD_CNAME_LENGTH'][GeneratedTokenNumber] = len(CNameBinArray.split(","))\r
\r
\r
- Pcd.TokenTypeList = sorted(set(Pcd.TokenTypeList))\r
+ Pcd.TokenTypeList = list(set(Pcd.TokenTypeList))\r
\r
# search the Offset and Table, used by LocalTokenNumberTableOffset\r
if 'PCD_TYPE_HII' in Pcd.TokenTypeList:\r