* [Patch] BaseTools: Fix the bug that same region print twice in the build log
@ 2017-09-05 8:43 Yonghong Zhu
2017-09-06 3:27 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2017-09-05 8:43 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao
This patch fixed the bug that same region print twice in the build log.
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
---
BaseTools/Source/Python/GenFds/Fd.py | 58 ++++++++++++++++++++----------------
1 file changed, 32 insertions(+), 26 deletions(-)
diff --git a/BaseTools/Source/Python/GenFds/Fd.py b/BaseTools/Source/Python/GenFds/Fd.py
index 684b5ce..f330a7e 100644
--- a/BaseTools/Source/Python/GenFds/Fd.py
+++ b/BaseTools/Source/Python/GenFds/Fd.py
@@ -1,9 +1,9 @@
## @file
# process FD generation
#
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
@@ -65,36 +65,42 @@ class FD(FDClassObject):
GenFdsGlobalVariable.VerboseLogger(FvObj)
GenFdsGlobalVariable.VerboseLogger('################### Gen VTF ####################')
self.GenVtfFile()
- TempFdBuffer = StringIO.StringIO('')
- PreviousRegionStart = -1
- PreviousRegionSize = 1
-
- for RegionObj in self.RegionList :
+ HasCapsuleRegion = False
+ for RegionObj in self.RegionList:
if RegionObj.RegionType == 'CAPSULE':
- continue
- if RegionObj.Offset + RegionObj.Size <= PreviousRegionStart:
- pass
- elif RegionObj.Offset <= PreviousRegionStart or (RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset < PreviousRegionStart + PreviousRegionSize):
- pass
- elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:
- GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))
- PadRegion = Region.Region()
- PadRegion.Offset = PreviousRegionStart + PreviousRegionSize
- PadRegion.Size = RegionObj.Offset - PadRegion.Offset
- PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)
- PreviousRegionStart = RegionObj.Offset
- PreviousRegionSize = RegionObj.Size
- #
- # Call each region's AddToBuffer function
- #
- if PreviousRegionSize > self.Size:
- pass
- GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')
- RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)
+ HasCapsuleRegion = True
+ break
+ if HasCapsuleRegion:
+ TempFdBuffer = StringIO.StringIO('')
+ PreviousRegionStart = -1
+ PreviousRegionSize = 1
+
+ for RegionObj in self.RegionList :
+ if RegionObj.RegionType == 'CAPSULE':
+ continue
+ if RegionObj.Offset + RegionObj.Size <= PreviousRegionStart:
+ pass
+ elif RegionObj.Offset <= PreviousRegionStart or (RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset < PreviousRegionStart + PreviousRegionSize):
+ pass
+ elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:
+ GenFdsGlobalVariable.InfLogger('Padding region starting from offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize, RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))
+ PadRegion = Region.Region()
+ PadRegion.Offset = PreviousRegionStart + PreviousRegionSize
+ PadRegion.Size = RegionObj.Offset - PadRegion.Offset
+ PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)
+ PreviousRegionStart = RegionObj.Offset
+ PreviousRegionSize = RegionObj.Size
+ #
+ # Call each region's AddToBuffer function
+ #
+ if PreviousRegionSize > self.Size:
+ pass
+ GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer function')
+ RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress, self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict, self.DefineVarDict)
FdBuffer = StringIO.StringIO('')
PreviousRegionStart = -1
PreviousRegionSize = 1
for RegionObj in self.RegionList :
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] BaseTools: Fix the bug that same region print twice in the build log
2017-09-05 8:43 [Patch] BaseTools: Fix the bug that same region print twice in the build log Yonghong Zhu
@ 2017-09-06 3:27 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2017-09-06 3:27 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: Zhu, Yonghong
>Sent: Tuesday, September 05, 2017 4:43 PM
>To: edk2-devel@lists.01.org
>Cc: Gao, Liming <liming.gao@intel.com>
>Subject: [Patch] BaseTools: Fix the bug that same region print twice in the
>build log
>
>This patch fixed the bug that same region print twice in the build log.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
>---
> BaseTools/Source/Python/GenFds/Fd.py | 58 ++++++++++++++++++++------
>----------
> 1 file changed, 32 insertions(+), 26 deletions(-)
>
>diff --git a/BaseTools/Source/Python/GenFds/Fd.py
>b/BaseTools/Source/Python/GenFds/Fd.py
>index 684b5ce..f330a7e 100644
>--- a/BaseTools/Source/Python/GenFds/Fd.py
>+++ b/BaseTools/Source/Python/GenFds/Fd.py
>@@ -1,9 +1,9 @@
> ## @file
> # process FD generation
> #
>-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
>+# Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
> #
> # This program and the accompanying materials
> # are licensed and made available under the terms and conditions of the BSD
>License
> # which accompanies this distribution. The full text of the license may be
>found at
> # http://opensource.org/licenses/bsd-license.php
>@@ -65,36 +65,42 @@ class FD(FDClassObject):
> GenFdsGlobalVariable.VerboseLogger(FvObj)
>
> GenFdsGlobalVariable.VerboseLogger('################### Gen VTF
>####################')
> self.GenVtfFile()
>
>- TempFdBuffer = StringIO.StringIO('')
>- PreviousRegionStart = -1
>- PreviousRegionSize = 1
>-
>- for RegionObj in self.RegionList :
>+ HasCapsuleRegion = False
>+ for RegionObj in self.RegionList:
> if RegionObj.RegionType == 'CAPSULE':
>- continue
>- if RegionObj.Offset + RegionObj.Size <= PreviousRegionStart:
>- pass
>- elif RegionObj.Offset <= PreviousRegionStart or
>(RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset <
>PreviousRegionStart + PreviousRegionSize):
>- pass
>- elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:
>- GenFdsGlobalVariable.InfLogger('Padding region starting from offset
>0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize,
>RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))
>- PadRegion = Region.Region()
>- PadRegion.Offset = PreviousRegionStart + PreviousRegionSize
>- PadRegion.Size = RegionObj.Offset - PadRegion.Offset
>- PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress,
>self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict,
>self.DefineVarDict)
>- PreviousRegionStart = RegionObj.Offset
>- PreviousRegionSize = RegionObj.Size
>- #
>- # Call each region's AddToBuffer function
>- #
>- if PreviousRegionSize > self.Size:
>- pass
>- GenFdsGlobalVariable.VerboseLogger('Call each region\'s AddToBuffer
>function')
>- RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress,
>self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict,
>self.DefineVarDict)
>+ HasCapsuleRegion = True
>+ break
>+ if HasCapsuleRegion:
>+ TempFdBuffer = StringIO.StringIO('')
>+ PreviousRegionStart = -1
>+ PreviousRegionSize = 1
>+
>+ for RegionObj in self.RegionList :
>+ if RegionObj.RegionType == 'CAPSULE':
>+ continue
>+ if RegionObj.Offset + RegionObj.Size <= PreviousRegionStart:
>+ pass
>+ elif RegionObj.Offset <= PreviousRegionStart or
>(RegionObj.Offset >=PreviousRegionStart and RegionObj.Offset <
>PreviousRegionStart + PreviousRegionSize):
>+ pass
>+ elif RegionObj.Offset > PreviousRegionStart + PreviousRegionSize:
>+ GenFdsGlobalVariable.InfLogger('Padding region starting from
>offset 0x%X, with size 0x%X' %(PreviousRegionStart + PreviousRegionSize,
>RegionObj.Offset - (PreviousRegionStart + PreviousRegionSize)))
>+ PadRegion = Region.Region()
>+ PadRegion.Offset = PreviousRegionStart + PreviousRegionSize
>+ PadRegion.Size = RegionObj.Offset - PadRegion.Offset
>+ PadRegion.AddToBuffer(TempFdBuffer, self.BaseAddress,
>self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict,
>self.DefineVarDict)
>+ PreviousRegionStart = RegionObj.Offset
>+ PreviousRegionSize = RegionObj.Size
>+ #
>+ # Call each region's AddToBuffer function
>+ #
>+ if PreviousRegionSize > self.Size:
>+ pass
>+ GenFdsGlobalVariable.VerboseLogger('Call each region\'s
>AddToBuffer function')
>+ RegionObj.AddToBuffer (TempFdBuffer, self.BaseAddress,
>self.BlockSizeList, self.ErasePolarity, GenFds.ImageBinDict, self.vtfRawDict,
>self.DefineVarDict)
>
> FdBuffer = StringIO.StringIO('')
> PreviousRegionStart = -1
> PreviousRegionSize = 1
> for RegionObj in self.RegionList :
>--
>2.6.1.windows.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-06 3:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-05 8:43 [Patch] BaseTools: Fix the bug that same region print twice in the build log Yonghong Zhu
2017-09-06 3:27 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox