From 05e8e2403c533cc9e7a2a548486e2e41dfd5ce53 Mon Sep 17 00:00:00 2001 From: Nikita Shubin Date: Mon, 19 Dec 2022 11:05:27 +0300 Subject: [PATCH] imxtract: specify max gunzip size Specify max gunzip size from config to override SYS_XIMG_LEN default value wich is 0x800000. In case we have a large portion of FIT image, for example gzipped kernel with decompressed size large than 0x800000 we should enlarge imxract area, otherwise extracting it will fail. It used to be a hardcoded define in cmd/ximg.c and we are moving it to config. Signed-off-by: Nikita Shubin Reviewed-by: Simon Glass --- cmd/Kconfig | 10 ++++++++++ cmd/ximg.c | 7 +------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cmd/Kconfig b/cmd/Kconfig index 24bfbe5057..5a7678f0ac 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -495,6 +495,16 @@ config CMD_XIMG help Extract a part of a multi-image. +config SYS_XIMG_LEN + hex "imxtract max gunzip size" + default 0x800000 + depends on CMD_XIMG && GZIP + help + This provides the size of the commad-line argument area + used by imxtract for extracting pieces of FIT image. + It should be large enough to fit uncompressed size of + FIT piece we are extracting. + config CMD_SPL bool "spl export - Export boot information for Falcon boot" depends on SPL diff --git a/cmd/ximg.c b/cmd/ximg.c index a50dd20b19..0e7eead8d1 100644 --- a/cmd/ximg.c +++ b/cmd/ximg.c @@ -27,11 +27,6 @@ #include #include -#ifndef CFG_SYS_XIMG_LEN -/* use 8MByte as default max gunzip size */ -#define CFG_SYS_XIMG_LEN 0x800000 -#endif - static int do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { @@ -52,7 +47,7 @@ do_imgextract(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) size_t fit_len; #endif #ifdef CONFIG_GZIP - uint unc_len = CFG_SYS_XIMG_LEN; + uint unc_len = CONFIG_SYS_XIMG_LEN; #endif uint8_t comp; -- 2.39.5