]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/Fd.py
BaseTools: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / Fd.py
index 552719fa31145fbb3ac6e9f5dfb3419c58e24b74..973936b6f273a2a36774581bf35625810e97e174 100644 (file)
@@ -3,30 +3,24 @@
 #\r
 #  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  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
+#  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 \r
 ##\r
 # Import Modules\r
 #\r
-import Region\r
-import Fv\r
+from __future__ import absolute_import\r
+from . import Region\r
+from . import Fv\r
 import Common.LongFilePathOs as os\r
 from io import BytesIO\r
 import sys\r
 from struct import *\r
-from GenFdsGlobalVariable import GenFdsGlobalVariable\r
+from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from CommonDataClass.FdfClass import FDClassObject\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
-from GenFds import GenFds\r
 from Common.DataType import BINARY_FILE_TYPE_FV\r
 \r
 ## generate FD\r
@@ -47,8 +41,8 @@ class FD(FDClassObject):
     #   @retval string      Generated FD file name\r
     #\r
     def GenFd (self, Flag = False):\r
-        if self.FdUiName.upper() + 'fd' in GenFds.ImageBinDict:\r
-            return GenFds.ImageBinDict[self.FdUiName.upper() + 'fd']\r
+        if self.FdUiName.upper() + 'fd' in GenFdsGlobalVariable.ImageBinDict:\r
+            return GenFdsGlobalVariable.ImageBinDict[self.FdUiName.upper() + 'fd']\r
 \r
         #\r
         # Print Information\r
@@ -66,16 +60,13 @@ class FD(FDClassObject):
         for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict:\r
             GenFdsGlobalVariable.VerboseLogger(FvObj)\r
 \r
-        GenFdsGlobalVariable.VerboseLogger('################### Gen VTF ####################')\r
-        self.GenVtfFile()\r
-\r
         HasCapsuleRegion = False\r
         for RegionObj in self.RegionList:\r
             if RegionObj.RegionType == 'CAPSULE':\r
                 HasCapsuleRegion = True\r
                 break\r
         if HasCapsuleRegion:\r
-            TempFdBuffer = BytesIO('')\r
+            TempFdBuffer = BytesIO()\r
             PreviousRegionStart = -1\r
             PreviousRegionSize = 1\r
 \r
@@ -93,7 +84,7 @@ class FD(FDClassObject):
                     PadRegion.Offset = PreviousRegionStart + PreviousRegionSize\r
                     PadRegion.Size = RegionObj.Offset - PadRegion.Offset\r
                     if not Flag:\r
-                        PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
+                        PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict)\r
                 PreviousRegionStart = RegionObj.Offset\r
                 PreviousRegionSize = RegionObj.Size\r
                 #\r
@@ -102,9 +93,9 @@ class FD(FDClassObject):
                 if PreviousRegionSize > self.Size:\r
                     pass\r
                 GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')\r
-                RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
+                RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict)\r
 \r
-        FdBuffer = BytesIO('')\r
+        FdBuffer = BytesIO()\r
         PreviousRegionStart = -1\r
         PreviousRegionSize = 1\r
         for RegionObj in self.RegionList :\r
@@ -123,7 +114,7 @@ class FD(FDClassObject):
                 PadRegion.Offset = PreviousRegionStart + PreviousRegionSize\r
                 PadRegion.Size = RegionObj.Offset - PadRegion.Offset\r
                 if not Flag:\r
-                    PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
+                    PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict)\r
             PreviousRegionStart = RegionObj.Offset\r
             PreviousRegionSize = RegionObj.Size\r
             #\r
@@ -137,7 +128,7 @@ class FD(FDClassObject):
             # Call each region's AddToBuffer function\r
             #\r
             GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')\r
-            RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict, Flag=Flag)\r
+            RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFdsGlobalVariable.ImageBinDict, self.DefineVarDict, Flag=Flag)\r
         #\r
         # Write the buffer contents to Fd file\r
         #\r
@@ -145,54 +136,9 @@ class FD(FDClassObject):
         if not Flag:\r
             SaveFileOnChange(FdFileName, FdBuffer.getvalue())\r
         FdBuffer.close()\r
-        GenFds.ImageBinDict[self.FdUiName.upper() + 'fd'] = FdFileName\r
+        GenFdsGlobalVariable.ImageBinDict[self.FdUiName.upper() + 'fd'] = FdFileName\r
         return FdFileName\r
 \r
-    ## generate VTF\r
-    #\r
-    #   @param  self        The object pointer\r
-    #\r
-    def GenVtfFile (self) :\r
-        #\r
-        # Get this Fd's all Fv name\r
-        #\r
-        FvAddDict ={}\r
-        FvList = []\r
-        for RegionObj in self.RegionList:\r
-            if RegionObj.RegionType == BINARY_FILE_TYPE_FV:\r
-                if len(RegionObj.RegionDataList) == 1:\r
-                    RegionData = RegionObj.RegionDataList[0]\r
-                    FvList.append(RegionData.upper())\r
-                    FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \\r
-                                                RegionObj.Offset, RegionObj.Size)\r
-                else:\r
-                    Offset = RegionObj.Offset\r
-                    for RegionData in RegionObj.RegionDataList:\r
-                        FvList.append(RegionData.upper())\r
-                        FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(RegionData.upper())\r
-                        if len(FvObj.BlockSizeList) < 1:\r
-                            EdkLogger.error("GenFds", GENFDS_ERROR,\r
-                                            'FV.%s must point out FVs blocksize and Fv BlockNum' \\r
-                                            % FvObj.UiFvName)\r
-                        else:\r
-                            Size = 0\r
-                            for blockStatement in FvObj.BlockSizeList:\r
-                                Size = Size + blockStatement[0] * blockStatement[1]\r
-                            FvAddDict[RegionData.upper()] = (int(self.BaseAddress, 16) + \\r
-                                                             Offset, Size)\r
-                            Offset = Offset + Size\r
-        #\r
-        # Check whether this Fd need VTF\r
-        #\r
-        Flag = False\r
-        for VtfObj in GenFdsGlobalVariable.FdfParser.Profile.VtfList:\r
-            compLocList = VtfObj.GetFvList()\r
-            if set(compLocList).issubset(FvList):\r
-                Flag = True\r
-                break\r
-        if Flag == True:\r
-            self.vtfRawDict = VtfObj.GenVtf(FvAddDict)\r
-\r
     ## generate flash map file\r
     #\r
     #   @param  self        The object pointer\r