[U-Boot-Users] [PATCH] add 'unzip' command to u-boot commandline

[PATCH] add new 'unzip' command to u-boot commandline
common/cmd_mem.c: new command "unzip srcaddr dstaddr [dstsize]" to unzip from memory to memory, and option CONFIG_CMD_UNZIP to enable it
Signed-off-by: Werner Almesberger werner@openmoko.org Signed-off-by: Harald Welte laforge@openmoko.org
diff --git a/common/cmd_mem.c b/common/cmd_mem.c index d6d7a5b..656f519 100644 --- a/common/cmd_mem.c +++ b/common/cmd_mem.c @@ -1191,6 +1191,34 @@ int do_mem_crc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) } #endif /* CONFIG_CRC32_VERIFY */
+ +#ifdef CONFIG_CMD_UNZIP +int gunzip (void *, int, unsigned char *, unsigned long *); + +int do_unzip ( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) +{ + unsigned long src, dst; + unsigned long src_len = ~0UL, dst_len = ~0UL; + int err; + + switch (argc) { + case 4: + dst_len = simple_strtoul(argv[3], NULL, 16); + /* fall through */ + case 3: + src = simple_strtoul(argv[1], NULL, 16); + dst = simple_strtoul(argv[2], NULL, 16); + break; + default: + printf ("Usage:\n%s\n", cmdtp->usage); + return 1; + } + + return !!gunzip((void *) dst, dst_len, (void *) src, &src_len); +} +#endif /* CONFIG_CMD_UNZIP */ + + /**************************************************/ #if defined(CONFIG_CMD_MEMORY) U_BOOT_CMD( @@ -1294,5 +1322,13 @@ U_BOOT_CMD( ); #endif /* CONFIG_MX_CYCLIC */
+#ifdef CONFIG_CMD_UNZIP +U_BOOT_CMD( + unzip, 4, 1, do_unzip, + "unzip - unzip a memory region\n", + "srcaddr dstaddr [dstsize]\n" +); +#endif /* CONFIG_CMD_UNZIP */ + #endif #endif diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index c2bb094..2cb2f67 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -77,6 +77,7 @@ #define CONFIG_CMD_SPI /* SPI utility */ #define CONFIG_CMD_TERMINAL /* built-in Serial Terminal */ #define CONFIG_CMD_UNIVERSE /* Tundra Universe Support */ +#define CONFIG_CMD_UNZIP /* unzip from memory to memory */ #define CONFIG_CMD_USB /* USB Support */ #define CONFIG_CMD_VFD /* VFD support (TRAB) */ #define CONFIG_CMD_XIMG /* Load part of Multi Image */

Dear Harald Welte,
In message 20080706075638.GD4167@prithivi.gnumonks.org you wrote:
[PATCH] add new 'unzip' command to u-boot commandline
common/cmd_mem.c: new command "unzip srcaddr dstaddr [dstsize]" to unzip from memory to memory, and option CONFIG_CMD_UNZIP to enable it
Signed-off-by: Werner Almesberger werner@openmoko.org Signed-off-by: Harald Welte laforge@openmoko.org
Applied, thanks.
Best regards,
Wolfgang Denk

Dear Harald Welte,
In message 20080706075638.GD4167@prithivi.gnumonks.org you wrote:
[PATCH] add new 'unzip' command to u-boot commandline
common/cmd_mem.c: new command "unzip srcaddr dstaddr [dstsize]" to unzip from memory to memory, and option CONFIG_CMD_UNZIP to enable it
Signed-off-by: Werner Almesberger werner@openmoko.org Signed-off-by: Harald Welte laforge@openmoko.org
Applied, thanks.
Best regards,
Wolfgang Denk
participants (2)
-
Harald Welte
-
Wolfgang Denk