]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/GenFds.py
Revert BaseTools: PYTHON3 migration
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / GenFds.py
index 32824ae80ec365e0a940fd411e12b6723ad2fe60..9dec9c5eb57d3885ec36401d833b9838ffcddaa6 100644 (file)
@@ -15,6 +15,8 @@
 ##\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
@@ -27,7 +29,6 @@ from Workspace.BuildClassObject import PcdClassObject
 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
@@ -321,8 +322,6 @@ def main():
                             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
@@ -457,7 +456,7 @@ class GenFds :
                 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
@@ -560,9 +559,9 @@ class GenFds :
         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
@@ -588,7 +587,7 @@ class GenFds :
         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
@@ -603,27 +602,22 @@ class GenFds :
 \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
@@ -691,7 +685,7 @@ class GenFds :
                                     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