mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
binman: Generate preload header and sign data only once
To optimize preload generation, generate the header and signatures only after all data has been collected in ProcessContentsUpdate(). This avoids signing the data multiple times. Since header_size is known upfront (from __init__), create a placeholder in `ObtainContents()` to avoid an extra packing pass when ProcessContentsUpdate() detects a size change. This reduces unnecessary repacking and signing operations. Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -152,14 +152,11 @@ class Entry_pre_load(Entry_collection):
|
||||
return data + pad
|
||||
|
||||
def ObtainContents(self):
|
||||
"""Obtain a placeholder for the header contents"""
|
||||
# wait that the image is available
|
||||
self.image = self.GetContents(False)
|
||||
if self.image is None:
|
||||
return False
|
||||
self.SetContents(self._CreateHeader())
|
||||
"""Create a placeholder for the header"""
|
||||
self.SetContents(tools.get_bytes(0, self.header_size))
|
||||
return True
|
||||
|
||||
def ProcessContents(self):
|
||||
self.image = self.GetContents(True)
|
||||
data = self._CreateHeader()
|
||||
return self.ProcessContentsUpdate(data)
|
||||
|
||||
Reference in New Issue
Block a user