From 2e752be39d3e398d4ab89ffa6634c397df298297 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Thu, 31 Jul 2008 12:35:04 +0200 Subject: Uncompressed images loaded to their start address shall set load_end too Signed-off-by: Guennadi Liakhovetski Acked-by: Bartlomiej Sieka --- common/cmd_bootm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'common') diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index 18682fe..18d7100 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -251,10 +251,9 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) memmove_wd ((void *)load_start, (void *)os_data, os_len, CHUNKSZ); - - load_end = load_start + os_len; - puts("OK\n"); } + load_end = load_start + os_len; + puts("OK\n"); break; case IH_COMP_GZIP: printf (" Uncompressing %s ... ", type_name); -- cgit v1.1 From a48311557db6e7e9473a6163b44bb1e6c6ed64c4 Mon Sep 17 00:00:00 2001 From: Mark Jackson Date: Thu, 31 Jul 2008 16:09:00 +0100 Subject: Add gzipped logo support The README file states that CONFIG_VIDEO_BMP_GZIP behaves as follows: If this option is set, additionally to standard BMP images, gzipped BMP images can be displayed via the splashscreen support or the bmp command. However, the splashscreen function *only* supports standard BMP images. This patch adds the documented gzip support. Signed-off-by: Mark Jackson --- common/lcd.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'common') diff --git a/common/lcd.c b/common/lcd.c index eec1f53..3bbc7ba 100644 --- a/common/lcd.c +++ b/common/lcd.c @@ -740,6 +740,9 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y) } #endif +#ifdef CONFIG_VIDEO_BMP_GZIP +extern bmp_image_t *gunzip_bmp(unsigned long addr, unsigned long *lenp); +#endif static void *lcd_logo (void) { @@ -761,6 +764,16 @@ static void *lcd_logo (void) addr = simple_strtoul(s, NULL, 16); do_splash = 0; +#ifdef CONFIG_VIDEO_BMP_GZIP + bmp_image_t *bmp = (bmp_image_t *)addr; + unsigned long len; + + if (!((bmp->header.signature[0]=='B') && + (bmp->header.signature[1]=='M'))) { + addr = (ulong)gunzip_bmp(addr, &len); + } +#endif + if (lcd_display_bitmap (addr, 0, 0) == 0) { return ((void *)lcd_base); } -- cgit v1.1