[PATCH 12/39] bootm: Allow building bootm.c without CONFIG_SYS_BOOTM_LEN
Tom Rini
trini at konsulko.com
Wed Nov 20 15:50:33 CET 2024
On Tue, Nov 19, 2024 at 06:18:17AM -0700, Simon Glass wrote:
> This code cannot be compiled by boards which don't have this option. Add
> an accessor in the header file to avoid another #ifdef
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> boot/bootm.c | 8 ++++----
> include/bootm.h | 8 ++++++++
> 2 files changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/boot/bootm.c b/boot/bootm.c
> index 16a43d519a8..0a1040ef923 100644
> --- a/boot/bootm.c
> +++ b/boot/bootm.c
> @@ -633,11 +633,11 @@ static int bootm_load_os(struct bootm_headers *images, int boot_progress)
> load_buf = map_sysmem(load, 0);
> image_buf = map_sysmem(os.image_start, image_len);
> err = image_decomp(os.comp, load, os.image_start, os.type,
> - load_buf, image_buf, image_len,
> - CONFIG_SYS_BOOTM_LEN, &load_end);
> + load_buf, image_buf, image_len, bootm_len(),
> + &load_end);
> if (err) {
> - err = handle_decomp_error(os.comp, load_end - load,
> - CONFIG_SYS_BOOTM_LEN, err);
> + err = handle_decomp_error(os.comp, load_end - load, bootm_len(),
> + err);
> bootstage_error(BOOTSTAGE_ID_DECOMP_IMAGE);
> return err;
> }
> diff --git a/include/bootm.h b/include/bootm.h
> index c471615b08c..d174f18ac18 100644
> --- a/include/bootm.h
> +++ b/include/bootm.h
> @@ -89,6 +89,14 @@ struct bootm_info {
> #define bootm_x86_set(_bmi, _field, _val)
> #endif
>
> +static inline ulong bootm_len(void)
> +{
> +#ifdef CONFIG_SYS_BOOTM_LEN
> + return CONFIG_SYS_BOOTM_LEN;
> +#endif
> + return 0;
> +}
> +
> /**
> * bootm_init() - Set up a bootm_info struct with useful defaults
> *
This kind of change is wrong in that it moves a build time failure to a
(potentially non-obvious) runtime failure. If we're moving to now
dynamically allocating the location where we can decompress to, then it
should be part of that abstraction. But that doesn't look to be the case
here.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241120/015a4d3f/attachment.sig>
More information about the U-Boot
mailing list