[PATCH 00/13] boot: Make fit_image_load() easier to maintain
Simon Glass
sjg at chromium.org
Wed Mar 25 17:54:09 CET 2026
Before fit_image_load() was created, the code to load kernels, ramdisks
and devicetrees from a FIT was spread around many functions. By
combining most of the code in one place, it became possible to add more
features in a consistent way. The 'loadables' feature was much easier to
plumb in, for example.
While fit_image_load() was a substantial advance, it has never been a
svelte function and the passing years have not been entirely kind. With
a few new features on the horizon, this is a good time to improve the
implementation.
This series splits much of the code from fit_image_load() into a number
of smaller functions. Most of the changes are fairly mechanical, with
just a few renames and tweaks here and there.
This should make the function much easier to maintain. It may also
encourage someone to take a look at its callers, which could also use
some attention.
Code-size impact: about +8 bytes on aarch64 and +24-40 bytes on arm, due
to the compiler's register allocation across the new helper functions.
Simon Glass (13):
boot: Split out the first part of fit_image_load()
boot: Move call to fit_image_select() and rename it
boot: Tidy up setting of the OS arch on host builds
boot: Move type and OS checking into a new function
boot: Move handling of the load_op into a separate function
boot: Move obtaining data from a FIT image into a function
boot: Check the image is allowed before setting os.arch
boot: Move the architecture check into check_allowed()
boot: Move image-decompression into a separate function
boot: Move decomp_image() into handle_load_op()
boot: Move setting the OS arch into check_allowed()
boot: Drop unnecessary data variable
boot: Tidy local variables in fit_image_load()
boot/image-fit.c | 354 +++++++++++++++++++++++++++++++++++------------
include/image.h | 11 +-
2 files changed, 273 insertions(+), 92 deletions(-)
--
2.43.0
base-commit: 1ffc541eafc96d5eebcf837ab892dccec3b93568
branch: loadb-us
More information about the U-Boot
mailing list