aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass2019-07-08 14:25:36 -0600
committerSimon Glass2019-07-24 12:54:08 -0700
commitbf6906bab4129660a74639e3fafb463917778d2b (patch)
treeb88eaf9bc7224952cdeb727d6e952dd920bc3a55 /tools
parenta0dcaf2049056348b8b603116ed1d8556851e951 (diff)
binman: Add a control for post-pack entry expansion
We plan to support changing the size of entries after they have been packed. For now it will always be enabled. But to aid testing of both cases (in the event that we want to add a command-line flag, for example), add a setting to control it. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/state.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tools/binman/state.py b/tools/binman/state.py
index 3ccd7855d47..382bda32219 100644
--- a/tools/binman/state.py
+++ b/tools/binman/state.py
@@ -31,6 +31,11 @@ fdt_subset = set()
# The DTB which contains the full image information
main_dtb = None
+# Allow entries to expand after they have been packed. This is detected and
+# forces a re-pack. If not allowed, any attempted expansion causes an error in
+# Entry.ProcessContentsUpdate()
+allow_entry_expansion = True
+
def GetFdt(fname):
"""Get the Fdt object for a particular device-tree filename
@@ -250,3 +255,22 @@ def CheckSetHashValue(node, get_data_func):
data = m.digest()
for n in GetUpdateNodes(hash_node):
n.SetData('value', data)
+
+def SetAllowEntryExpansion(allow):
+ """Set whether post-pack expansion of entries is allowed
+
+ Args:
+ allow: True to allow expansion, False to raise an exception
+ """
+ global allow_entry_expansion
+
+ allow_entry_expansion = allow
+
+def AllowEntryExpansion():
+ """Check whether post-pack expansion of entries is allowed
+
+ Returns:
+ True if expansion should be allowed, False if an exception should be
+ raised
+ """
+ return allow_entry_expansion