浏览代码

Fix multi-part image support on i386 platform.
Patch by David Updegraff, 19 Aug 2005

Wolfgang Denk 19 年之前
父节点
当前提交
e644670b68
共有 2 个文件被更改,包括 9 次插入0 次删除
  1. 3 0
      CHANGELOG
  2. 6 0
      lib_i386/i386_linux.c

+ 3 - 0
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
 

+ 6 - 0
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);