diff options
author | Simon Glass | 2023-01-11 16:10:16 -0700 |
---|---|---|
committer | Simon Glass | 2023-01-18 14:55:41 -0700 |
commit | 9766f69c98c2aa056d0518a9545f9e89484e9172 (patch) | |
tree | 6b2150de16450fbef274b84167c05416153ede6b /tools/binman/entry.py | |
parent | 97fb8081ec0c8009ff5e70c054e8ece08e4465ed (diff) |
binman: Support overlapping entries
In some cases it is useful to have an entry overlap with another in a
section, either to update the contents within a blob, or to add an entry
to the fdtmap that covers only part of the blob.
Add support for this.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools/binman/entry.py')
-rw-r--r-- | tools/binman/entry.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/binman/entry.py b/tools/binman/entry.py index e6ff026ddb8..0c94665f7a8 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -98,6 +98,7 @@ class Entry(object): An absent entry is removed during processing so that it does not appear in the map optional (bool): True if this entry contains an optional external blob + overlap (bool): True if this entry overlaps with others """ fake_dir = None @@ -142,6 +143,7 @@ class Entry(object): self.auto_write_symbols = auto_write_symbols self.absent = False self.optional = False + self.overlap = False @staticmethod def FindEntryClass(etype, expanded): @@ -294,6 +296,9 @@ class Entry(object): self.extend_size = fdt_util.GetBool(self._node, 'extend-size') self.missing_msg = fdt_util.GetString(self._node, 'missing-msg') self.optional = fdt_util.GetBool(self._node, 'optional') + self.overlap = fdt_util.GetBool(self._node, 'overlap') + if self.overlap: + self.required_props += ['offset', 'size'] # This is only supported by blobs and sections at present self.compress = fdt_util.GetString(self._node, 'compress', 'none') |