aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Shubin <n.shubin@yadro.com>2022-12-19 11:05:27 +0300
committerTom Rini <trini@konsulko.com>2023-12-20 09:48:16 -0500
commit05e8e2403c533cc9e7a2a548486e2e41dfd5ce53 (patch)
tree61cd0128797144f13175b6ac340462ce8620d729
parentf7655af980dc376783bbdac833e450a86e3255f4 (diff)
downloadu-boot-05e8e2403c533cc9e7a2a548486e2e41dfd5ce53.zip
u-boot-05e8e2403c533cc9e7a2a548486e2e41dfd5ce53.tar.gz
u-boot-05e8e2403c533cc9e7a2a548486e2e41dfd5ce53.tar.bz2
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 <n.shubin@yadro.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--cmd/Kconfig10
-rw-r--r--cmd/ximg.c7
2 files changed, 11 insertions, 6 deletions
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 24bfbe5..5a7678f 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 a50dd20..0e7eead 100644
--- a/cmd/ximg.c
+++ b/cmd/ximg.c
@@ -27,11 +27,6 @@
#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;