summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/GenFds/Region.py
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2016-07-11 16:17:23 +0200
committerLaszlo Ersek <lersek@redhat.com>2016-07-12 13:19:10 +0200
commit5588565f4845d8138888f436218bc8334c0be54f (patch)
tree5de9c79df9c90fd09526535c5eabac2b817c46ac /BaseTools/Source/Python/GenFds/Region.py
parent0f65154396df0cae940b779f715da127c7d0b28f (diff)
downloadedk2-5588565f4845d8138888f436218bc8334c0be54f.tar.gz
edk2-5588565f4845d8138888f436218bc8334c0be54f.tar.bz2
edk2-5588565f4845d8138888f436218bc8334c0be54f.zip
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>
Diffstat (limited to 'BaseTools/Source/Python/GenFds/Region.py')
-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