##\r
# Import Modules\r
#\r
+from __future__ import print_function\r
+from __future__ import absolute_import\r
from optparse import OptionParser\r
import sys\r
import Common.LongFilePathOs as os\r
from . import RuleComplexFile\r
from .EfiSection import EfiSection\r
from io import BytesIO\r
-from io import StringIO\r
import Common.TargetTxtClassObject as TargetTxtClassObject\r
import Common.ToolDefClassObject as ToolDefClassObject\r
from Common.DataType import *\r
continue\r
for RegionData in RegionObj.RegionDataList:\r
if FvObj.UiFvName.upper() == RegionData.upper():\r
- if not FvObj.BaseAddress:\r
- FvObj.BaseAddress = '0x%x' % (int(FdObj.BaseAddress, 0) + RegionObj.Offset)\r
if FvObj.FvRegionInFD:\r
if FvObj.FvRegionInFD != RegionObj.Size:\r
EdkLogger.error("GenFds", FORMAT_INVALID, "The FV %s's region is specified in multiple FD with different value." %FvObj.UiFvName)\r
return\r
elif GenFds.OnlyGenerateThisFv is None:\r
for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict.values():\r
- Buffer = BytesIO()\r
+ Buffer = BytesIO('')\r
FvObj.AddToBuffer(Buffer)\r
Buffer.close()\r
\r
GenFdsGlobalVariable.InfLogger('\nFV Space Information')\r
for FvSpaceInfo in FvSpaceInfoList:\r
Name = FvSpaceInfo[0]\r
- TotalSizeValue = int(FvSpaceInfo[1], 0)\r
- UsedSizeValue = int(FvSpaceInfo[2], 0)\r
- FreeSizeValue = int(FvSpaceInfo[3], 0)\r
+ TotalSizeValue = long(FvSpaceInfo[1], 0)\r
+ UsedSizeValue = long(FvSpaceInfo[2], 0)\r
+ FreeSizeValue = long(FvSpaceInfo[3], 0)\r
if UsedSizeValue == TotalSizeValue:\r
Percentage = '100'\r
else:\r
if PcdValue == '':\r
return\r
\r
- Int64PcdValue = int(PcdValue, 0)\r
+ Int64PcdValue = long(PcdValue, 0)\r
if Int64PcdValue == 0 or Int64PcdValue < -1:\r
return\r
\r
\r
def GenerateGuidXRefFile(BuildDb, ArchList, FdfParserObj):\r
GuidXRefFileName = os.path.join(GenFdsGlobalVariable.FvDir, "Guid.xref")\r
- GuidXRefFile = StringIO('')\r
+ GuidXRefFile = BytesIO('')\r
PkgGuidDict = {}\r
GuidDict = {}\r
ModuleList = []\r
FileGuidList = []\r
GuidPattern = gGuidPattern\r
- VariableGuidSet = set()\r
for Arch in ArchList:\r
PlatformDataBase = BuildDb.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
PkgList = GenFdsGlobalVariable.WorkSpace.GetPackageList(GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag)\r
for P in PkgList:\r
PkgGuidDict.update(P.Guids)\r
- for Name, Guid in sorted(PlatformDataBase.Pcds):\r
+ for Name, Guid in PlatformDataBase.Pcds:\r
Pcd = PlatformDataBase.Pcds[Name, Guid]\r
if Pcd.Type in [TAB_PCDS_DYNAMIC_HII, TAB_PCDS_DYNAMIC_EX_HII]:\r
for SkuId in Pcd.SkuInfoList:\r
Sku = Pcd.SkuInfoList[SkuId]\r
- if Sku.VariableGuid in VariableGuidSet:\r
- continue\r
- else:\r
- VariableGuidSet.add(Sku.VariableGuid)\r
if Sku.VariableGuid and Sku.VariableGuid in PkgGuidDict.keys():\r
GuidDict[Sku.VariableGuid] = PkgGuidDict[Sku.VariableGuid]\r
for ModuleFile in PlatformDataBase.Modules:\r
F.read()\r
length = F.tell()\r
F.seek(4)\r
- TmpStr = unpack('%dh' % ((length - 4) // 2), F.read())\r
+ TmpStr = unpack('%dh' % ((length - 4) / 2), F.read())\r
Name = ''.join(chr(c) for c in TmpStr[:-1])\r
else:\r
FileList = []\r