From: Wolfgang Denk Date: Fri, 21 Jul 2006 09:30:18 +0000 (+0200) Subject: Fix multi-part image support on i386 platform. X-Git-Tag: U-Boot-1_1_5~86 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e644670b68d652cec98f649a776ea44d725a45ad;p=u-boot Fix multi-part image support on i386 platform. Patch by David Updegraff, 19 Aug 2005 --- diff --git a/CHANGELOG b/CHANGELOG index 2f48a371c9..e49e7ffc83 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes since U-Boot 1.1.4: ====================================================================== +* Fix multi-part image support on i386 platform. + Patch by David Updegraff, 19 Aug 2005 + * Add support for KVME080 board Patch by Sangmoon Kim, 18 Aug 2005 diff --git a/lib_i386/i386_linux.c b/lib_i386/i386_linux.c index e5d8eea4b8..b4a6f5a3cd 100644 --- a/lib_i386/i386_linux.c +++ b/lib_i386/i386_linux.c @@ -151,6 +151,12 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], initrd_end = 0; } + /* if multi-part image, we need to advance base ptr */ + if ((hdr->ih_type==IH_TYPE_MULTI) && (len_ptr[1])) { + int i; + for (i=0, addr+=sizeof(int); len_ptr[i++]; addr+=sizeof(int)); + } + base_ptr = load_zimage((void*)addr + sizeof(image_header_t), ntohl(hdr->ih_size), initrd_start, initrd_end-initrd_start, 0);