scripts/make_fit: Speed up operation

The kernel is likely at least 16MB so we may as well use that as a step
size when reallocating space for the FIT in memory. Pack the FIT at the
end, so there is no wasted space.

This reduces the time to pack by an order of magnitude, or so.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Reviewed-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Tested-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://patch.msgid.link/20260106162738.2605574-2-sjg@chromium.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
Simon Glass 2026-01-06 09:27:31 -07:00 committed by Nathan Chancellor
parent f2445d6f26
commit 621fd65adc
No known key found for this signature in database
GPG key ID: 1D6B269171C01A96

View file

@ -98,7 +98,7 @@ def setup_fit(fsw, name):
fsw (libfdt.FdtSw): Object to use for writing
name (str): Name of kernel image
"""
fsw.INC_SIZE = 65536
fsw.INC_SIZE = 16 << 20
fsw.finish_reservemap()
fsw.begin_node('')
fsw.property_string('description', f'{name} with devicetree set')
@ -299,7 +299,9 @@ def build_fit(args):
finish_fit(fsw, entries)
# Include the kernel itself in the returned file count
return fsw.as_fdt().as_bytearray(), seq + 1, size
fdt = fsw.as_fdt()
fdt.pack()
return fdt.as_bytearray(), seq + 1, size
def run_make_fit():