summaryrefslogtreecommitdiffstats
path: root/tools/binman/etype
diff options
context:
space:
mode:
Diffstat (limited to 'tools/binman/etype')
-rw-r--r--tools/binman/etype/_testing.py8
-rw-r--r--tools/binman/etype/blob.py3
-rw-r--r--tools/binman/etype/u_boot_spl_bss_pad.py3
-rw-r--r--tools/binman/etype/u_boot_with_ucode_ptr.py4
4 files changed, 12 insertions, 6 deletions
diff --git a/tools/binman/etype/_testing.py b/tools/binman/etype/_testing.py
index c075c3ff0d..04bdc6c532 100644
--- a/tools/binman/etype/_testing.py
+++ b/tools/binman/etype/_testing.py
@@ -22,6 +22,8 @@ class Entry__testing(Entry):
'return-invalid-entry')
self.return_unknown_contents = fdt_util.GetBool(self._node,
'return-unknown-contents')
+ self.bad_update_contents = fdt_util.GetBool(self._node,
+ 'bad-update-contents')
def ObtainContents(self):
if self.return_unknown_contents:
@@ -34,3 +36,9 @@ class Entry__testing(Entry):
if self.return_invalid_entry :
return {'invalid-entry': [1, 2]}
return {}
+
+ def ProcessContents(self):
+ if self.bad_update_contents:
+ # Request to update the conents with something larger, to cause a
+ # failure.
+ self.ProcessContentsUpdate('aa')
diff --git a/tools/binman/etype/blob.py b/tools/binman/etype/blob.py
index 16b1e5f64d..28e6651a93 100644
--- a/tools/binman/etype/blob.py
+++ b/tools/binman/etype/blob.py
@@ -28,8 +28,7 @@ class Entry_blob(Entry):
# new Entry method which can read in chunks. Then we could copy
# the data in chunks and avoid reading it all at once. For now
# this seems like an unnecessary complication.
- self.data = fd.read()
- self.contents_size = len(self.data)
+ self.SetContents(fd.read())
return True
def GetDefaultFilename(self):
diff --git a/tools/binman/etype/u_boot_spl_bss_pad.py b/tools/binman/etype/u_boot_spl_bss_pad.py
index 6c397957e3..65f631d3c5 100644
--- a/tools/binman/etype/u_boot_spl_bss_pad.py
+++ b/tools/binman/etype/u_boot_spl_bss_pad.py
@@ -22,6 +22,5 @@ class Entry_u_boot_spl_bss_pad(Entry_blob):
bss_size = elf.GetSymbolAddress(fname, '__bss_size')
if not bss_size:
self.Raise('Expected __bss_size symbol in spl/u-boot-spl')
- self.data = chr(0) * bss_size
- self.contents_size = bss_size
+ self.SetContents(chr(0) * bss_size)
return True
diff --git a/tools/binman/etype/u_boot_with_ucode_ptr.py b/tools/binman/etype/u_boot_with_ucode_ptr.py
index 41c2ded2fe..86945f3318 100644
--- a/tools/binman/etype/u_boot_with_ucode_ptr.py
+++ b/tools/binman/etype/u_boot_with_ucode_ptr.py
@@ -81,5 +81,5 @@ class Entry_u_boot_with_ucode_ptr(Entry_blob):
# Write the microcode position and size into the entry
pos_and_size = struct.pack('<2L', pos, size)
self.target_pos -= self.pos
- self.data = (self.data[:self.target_pos] + pos_and_size +
- self.data[self.target_pos + 8:])
+ self.ProcessContentsUpdate(self.data[:self.target_pos] + pos_and_size +
+ self.data[self.target_pos + 8:])