-from __future__ import absolute_import\r
## @file\r
# process FV generation\r
#\r
##\r
# Import Modules\r
#\r
+from __future__ import absolute_import\r
import Common.LongFilePathOs as os\r
import subprocess\r
from io import BytesIO\r
from struct import *\r
-\r
-from . import Ffs\r
-from . import AprioriSection\r
from . import FfsFileStatement\r
from .GenFdsGlobalVariable import GenFdsGlobalVariable\r
-from CommonDataClass.FdfClass import FvClassObject\r
from Common.Misc import SaveFileOnChange, PackGUID\r
from Common.LongFilePathSupport import CopyLongFilePath\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
## generate FV\r
#\r
#\r
-class FV (FvClassObject):\r
+class FV (object):\r
## The constructor\r
#\r
# @param self The object pointer\r
#\r
def __init__(self):\r
- FvClassObject.__init__(self)\r
+ self.UiFvName = None\r
+ self.CreateFileName = None\r
+ self.BlockSizeList = []\r
+ self.DefineVarDict = {}\r
+ self.SetVarDict = {}\r
+ self.FvAlignment = None\r
+ self.FvAttributeDict = {}\r
+ self.FvNameGuid = None\r
+ self.FvNameString = None\r
+ self.AprioriSectionList = []\r
+ self.FfsList = []\r
+ self.BsBaseAddress = None\r
+ self.RtBaseAddress = None\r
self.FvInfFile = None\r
self.FvAddressFile = None\r
self.BaseAddress = None\r
# @param MacroDict macro value pair\r
# @retval string Generated FV file path\r
#\r
- def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}, Flag=False) :\r
+ def AddToBuffer (self, Buffer, BaseAddress=None, BlockSize= None, BlockNum=None, ErasePloarity='1', VtfDict=None, MacroDict = {}, Flag=False):\r
\r
if BaseAddress is None and self.UiFvName.upper() + 'fv' in GenFdsGlobalVariable.ImageBinDict:\r
return GenFdsGlobalVariable.ImageBinDict[self.UiFvName.upper() + 'fv']\r
if self.FvBaseAddress is not None:\r
BaseAddress = self.FvBaseAddress\r
if not Flag:\r
- self.__InitializeInf__(BaseAddress, BlockSize, BlockNum, ErasePloarity, VtfDict)\r
+ self._InitializeInf(BaseAddress, BlockSize, BlockNum, ErasePloarity, VtfDict)\r
#\r
# First Process the Apriori section\r
#\r
TAB_LINE_BREAK)\r
\r
# Process Modules in FfsList\r
- for FfsFile in self.FfsList :\r
+ for FfsFile in self.FfsList:\r
if Flag:\r
if isinstance(FfsFile, FfsFileStatement.FileStatement):\r
continue\r
\r
if FvChildAddr != []:\r
# Update Ffs again\r
- for FfsFile in self.FfsList :\r
+ for FfsFile in self.FfsList:\r
FileName = FfsFile.GenFfs(MacroDict, FvChildAddr, BaseAddress, IsMakefile=Flag, FvName=self.UiFvName)\r
\r
if GenFdsGlobalVariable.LargeFileInFvFlags[-1]:\r
return True\r
return False\r
\r
- ## __InitializeInf__()\r
+ ## _InitializeInf()\r
#\r
# Initilize the inf file to create FV\r
#\r
# @param ErasePolarity Flash erase polarity\r
# @param VtfDict VTF objects\r
#\r
- def __InitializeInf__ (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1', VtfDict=None) :\r
+ def _InitializeInf (self, BaseAddress = None, BlockSize= None, BlockNum = None, ErasePloarity='1', VtfDict=None):\r
#\r
# Create FV inf file\r
#\r
# Add [Options]\r
#\r
self.FvInfFile.writelines("[options]" + TAB_LINE_BREAK)\r
- if BaseAddress is not None :\r
+ if BaseAddress is not None:\r
self.FvInfFile.writelines("EFI_BASE_ADDRESS = " + \\r
BaseAddress + \\r
TAB_LINE_BREAK)\r
#set default block size is 1\r
self.FvInfFile.writelines("EFI_BLOCK_SIZE = 0x1" + TAB_LINE_BREAK)\r
\r
- for BlockSize in self.BlockSizeList :\r
+ for BlockSize in self.BlockSizeList:\r
if BlockSize[0] is not None:\r
self.FvInfFile.writelines("EFI_BLOCK_SIZE = " + \\r
'0x%X' %BlockSize[0] + \\r
' %s' %ErasePloarity + \\r
TAB_LINE_BREAK)\r
if not (self.FvAttributeDict is None):\r
- for FvAttribute in self.FvAttributeDict.keys() :\r
+ for FvAttribute in self.FvAttributeDict.keys():\r
if FvAttribute == "FvUsedSizeEnable":\r
- if self.FvAttributeDict[FvAttribute].upper() in ('TRUE', '1') :\r
+ if self.FvAttributeDict[FvAttribute].upper() in ('TRUE', '1'):\r
self.UsedSizeEnable = True\r
continue\r
self.FvInfFile.writelines("EFI_" + \\r
Guid = FV_UI_EXT_ENTY_GUID.split('-')\r
#\r
# Layout:\r
- # EFI_FIRMWARE_VOLUME_EXT_ENTRY : size 4\r
- # GUID : size 16\r
+ # EFI_FIRMWARE_VOLUME_EXT_ENTRY: size 4\r
+ # GUID: size 16\r
# FV UI name\r
#\r
Buffer += (pack('HH', (FvUiLen + 16 + 4), 0x0002)\r
FvExtHeaderFileName + \\r
TAB_LINE_BREAK)\r
\r
-\r
#\r
# Add [Files]\r
#\r