]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imxtract: specify max gunzip size
authorNikita Shubin <n.shubin@yadro.com>
Mon, 19 Dec 2022 08:05:27 +0000 (11:05 +0300)
committerTom Rini <trini@konsulko.com>
Wed, 20 Dec 2023 14:48:16 +0000 (09:48 -0500)
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 <n.shubin@yadro.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
cmd/Kconfig
cmd/ximg.c

index 24bfbe505722dcd99713dda5ac49ac2887186015..5a7678f0ac9e2fe92d39c09e756e3c5d32d0d076 100644 (file)
@@ -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
index a50dd20b19aafcab44cbd15c9d357b40eaf05985..0e7eead8d192e992f13b66767a096fe1ba5479ce 100644 (file)
 #include <asm/cache.h>
 #include <asm/io.h>
 
-#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;