## @file\r
# process FD generation\r
#\r
-# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>\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
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
#\r
#\r
# @retval string Generated FD file name\r
#\r
- def GenFd (self):\r
- if self.FdUiName.upper() + 'fd' in GenFds.ImageBinDict.keys():\r
+ def GenFd (self, Flag = False):\r
+ if self.FdUiName.upper() + 'fd' in GenFds.ImageBinDict:\r
return GenFds.ImageBinDict[self.FdUiName.upper() + 'fd']\r
\r
#\r
# Print Information\r
#\r
FdFileName = os.path.join(GenFdsGlobalVariable.FvDir, self.FdUiName + '.fd')\r
- GenFdsGlobalVariable.InfLogger("Fd File Name:%s (%s)" %(self.FdUiName, FdFileName))\r
+ if not Flag:\r
+ GenFdsGlobalVariable.InfLogger("\nFd File Name:%s (%s)" %(self.FdUiName, FdFileName))\r
\r
Offset = 0x00\r
for item in self.BlockSizeList:\r
elif RegionObj.Offset <= PreviousRegionStart or (RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset < PreviousRegionStart + PreviousRegionSize):\r
pass\r
elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:\r
- GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))\r
+ if not Flag:\r
+ GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))\r
PadRegion = Region.Region()\r
PadRegion.Offset = PreviousRegionStart + PreviousRegionSize\r
PadRegion.Size = RegionObj.Offset - PadRegion.Offset\r
- PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
+ if not Flag:\r
+ PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
PreviousRegionStart = RegionObj.Offset\r
PreviousRegionSize = RegionObj.Size\r
#\r
'Region offset 0x%X overlaps with Region starting from 0x%X, size 0x%X' \\r
% (RegionObj.Offset, PreviousRegionStart, PreviousRegionSize))\r
elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:\r
- GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))\r
+ if not Flag:\r
+ GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))\r
PadRegion = Region.Region()\r
PadRegion.Offset = PreviousRegionStart + PreviousRegionSize\r
PadRegion.Size = RegionObj.Offset - PadRegion.Offset\r
- PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
+ if not Flag:\r
+ PadRegion.AddToBuffer(FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)\r
PreviousRegionStart = RegionObj.Offset\r
PreviousRegionSize = RegionObj.Size\r
#\r
# 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)\r
+ RegionObj.AddToBuffer (FdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict,Flag=Flag)\r
#\r
# Write the buffer contents to Fd file\r
#\r
GenFdsGlobalVariable.VerboseLogger('Write the buffer contents to Fd file')\r
- SaveFileOnChange(FdFileName, FdBuffer.getvalue())\r
- FdBuffer.close();\r
+ if not Flag:\r
+ SaveFileOnChange(FdFileName, FdBuffer.getvalue())\r
+ FdBuffer.close()\r
GenFds.ImageBinDict[self.FdUiName.upper() + 'fd'] = FdFileName\r
return FdFileName\r
\r
FvAddDict ={}\r
FvList = []\r
for RegionObj in self.RegionList:\r
- if RegionObj.RegionType == 'FV':\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