[PATCH 1/2] binman: Update intel_ifwi to store padded section

Simon Glass sjg at chromium.org
Mon Nov 2 20:55:43 CET 2020


With a recent change this entry stores only part of the section data,
leaving out the padding at the end. Fix this by using GetPaddedData() to
get the data. Add this function to the base Entry class also.

Fixes: d1d3ad7d1fe ("binman: Move section padding to the parent")

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 tools/binman/entry.py            | 16 ++++++++++++++++
 tools/binman/etype/intel_ifwi.py |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/tools/binman/entry.py b/tools/binman/entry.py
index 8946d2bc02f..68e694e7d15 100644
--- a/tools/binman/entry.py
+++ b/tools/binman/entry.py
@@ -456,6 +456,22 @@ class Entry(object):
         self.Detail('GetData: size %s' % ToHexSize(self.data))
         return self.data
 
+    def GetPaddedData(self, data=None):
+        """Get the data for an entry including any padding
+
+        Gets the entry data and uses its section's pad-byte value to add padding
+        before and after as defined by the pad-before and pad-after properties.
+
+        This does not consider alignment.
+
+        Returns:
+            Contents of the entry along with any pad bytes before and
+            after it (bytes)
+        """
+        if data is None:
+            data = self.GetData()
+        return self.section.GetPaddedDataForEntry(self, data)
+
     def GetOffsets(self):
         """Get the offsets for siblings
 
diff --git a/tools/binman/etype/intel_ifwi.py b/tools/binman/etype/intel_ifwi.py
index 76b3357c252..1a0e481c198 100644
--- a/tools/binman/etype/intel_ifwi.py
+++ b/tools/binman/etype/intel_ifwi.py
@@ -71,7 +71,7 @@ class Entry_intel_ifwi(Entry_blob_ext):
 
         for entry in self._ifwi_entries.values():
             # First get the input data and put it in a file
-            data = entry.GetData()
+            data = entry.GetPaddedData()
             uniq = self.GetUniqueName()
             input_fname = tools.GetOutputFilename('input.%s' % uniq)
             tools.WriteFile(input_fname, data)
-- 
2.29.1.341.ge80a0c044ae-goog



More information about the U-Boot mailing list