summaryrefslogtreecommitdiff
path: root/BaseTools/Source
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-07-11 16:17:23 +0200
committerHao Wu <hao.a.wu@intel.com>2016-07-26 14:38:40 +0800
commit6a716f6ee4a9e53736181645e6ed3aebbff1082d (patch)
tree648ee29c7cda89e55f478ad4cb4a0a69e976a8cc /BaseTools/Source
parent2171cc5299c345b9a60c68f6c81c3d8b64bbad59 (diff)
downloadedk2-platforms-6a716f6ee4a9e53736181645e6ed3aebbff1082d.tar.xz
BaseTools/GenFds: factor out Region.PadBuffer() method
The same logic is used in five places; factor it out to a common method. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com> (cherry picked from commit 5588565f4845d8138888f436218bc8334c0be54f)
Diffstat (limited to 'BaseTools/Source')
-rw-r--r--BaseTools/Source/Python/GenFds/Region.py58
1 files changed, 24 insertions, 34 deletions
diff --git a/BaseTools/Source/Python/GenFds/Region.py b/BaseTools/Source/Python/GenFds/Region.py
index 6015e24e25..6769b39ba7 100644
--- a/BaseTools/Source/Python/GenFds/Region.py
+++ b/BaseTools/Source/Python/GenFds/Region.py
@@ -39,6 +39,25 @@ class Region(RegionClassObject):
RegionClassObject.__init__(self)
+ ## PadBuffer()
+ #
+ # Add padding bytes to the Buffer
+ #
+ # @param Buffer The buffer the generated region data will be put
+ # in
+ # @param ErasePolarity Flash erase polarity
+ # @param Size Number of padding bytes requested
+ #
+
+ def PadBuffer(self, Buffer, ErasePolarity, Size):
+ if Size > 0:
+ if (ErasePolarity == '1') :
+ PadData = 0xFF
+ else:
+ PadData = 0
+ for i in range(0, Size):
+ Buffer.write(pack('B', PadData))
+
## AddToBuffer()
#
# Add region data to the Buffer
@@ -135,13 +154,7 @@ class Region(RegionClassObject):
#
# Pad the left buffer
#
- if Size > 0:
- if (ErasePolarity == '1') :
- PadData = 0xFF
- else :
- PadData = 0
- for i in range(0, Size):
- Buffer.write(pack('B', PadData))
+ self.PadBuffer(Buffer, ErasePolarity, Size)
if self.RegionType == 'CAPSULE':
#
@@ -194,13 +207,7 @@ class Region(RegionClassObject):
#
# Pad the left buffer
#
- if Size > 0:
- if (ErasePolarity == '1') :
- PadData = 0xFF
- else :
- PadData = 0
- for i in range(0, Size):
- Buffer.write(pack('B', PadData))
+ self.PadBuffer(Buffer, ErasePolarity, Size)
if self.RegionType in ('FILE', 'INF'):
for RegionData in self.RegionDataList:
@@ -232,13 +239,7 @@ class Region(RegionClassObject):
#
# Pad the left buffer
#
- if Size > 0:
- if (ErasePolarity == '1') :
- PadData = 0xFF
- else :
- PadData = 0
- for i in range(0, Size):
- Buffer.write(pack('B', PadData))
+ self.PadBuffer(Buffer, ErasePolarity, Size)
if self.RegionType == 'DATA' :
GenFdsGlobalVariable.InfLogger(' Region Name = DATA')
@@ -255,22 +256,11 @@ class Region(RegionClassObject):
#
# Pad the left buffer
#
- if Size > 0:
- if (ErasePolarity == '1') :
- PadData = 0xFF
- else :
- PadData = 0
- for i in range(0, Size):
- Buffer.write(pack('B', PadData))
+ self.PadBuffer(Buffer, ErasePolarity, Size)
if self.RegionType == None:
GenFdsGlobalVariable.InfLogger(' Region Name = None')
- if (ErasePolarity == '1') :
- PadData = 0xFF
- else :
- PadData = 0
- for i in range(0, Size):
- Buffer.write(pack('B', PadData))
+ self.PadBuffer(Buffer, ErasePolarity, Size)
def GetFvAlignValue(self, Str):
AlignValue = 1