diff options
| author | Kumar Gala <galak@kernel.crashing.org> | 2008-08-15 08:24:41 -0500 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2008-08-26 23:41:43 +0200 | 
| commit | 396f635b8ff3ccbc38d75d5eda98444c6466810a (patch) | |
| tree | b819dfe09006f81737958700fc697458568c0c12 /include/image.h | |
| parent | e906cfae08e8cc2447f59b1bc4c22ab9c3c286d2 (diff) | |
| download | olio-uboot-2014.01-396f635b8ff3ccbc38d75d5eda98444c6466810a.tar.xz olio-uboot-2014.01-396f635b8ff3ccbc38d75d5eda98444c6466810a.zip | |
bootm: refactor image detection and os load steps
Created a bootm_start() that handles the parsing and detection of all
the images that will be used by the bootm command (OS, ramdisk, fdt).
As part of this we now tract all the relevant image offsets in the
bootm_headers_t struct. This will allow us to have all the needed
state for future sub-commands and lets us reduce a bit of arch
specific code on SPARC.
Created a bootm_load_os() that deals with decompression and loading
the OS image.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'include/image.h')
| -rw-r--r-- | include/image.h | 9 | 
1 files changed, 9 insertions, 0 deletions
| diff --git a/include/image.h b/include/image.h index c1acd7b82..9be806e12 100644 --- a/include/image.h +++ b/include/image.h @@ -187,6 +187,13 @@ typedef struct image_header {  	uint8_t		ih_name[IH_NMLEN];	/* Image Name		*/  } image_header_t; +typedef struct image_info { +	ulong		start, end;		/* start/end of blob */ +	ulong		image_start, image_len; /* start of image within blob, len of image */ +	ulong		load;			/* load addr for the image */ +	uint8_t		comp, type, os;		/* compression, type of image, os type */ +} image_info_t; +  /*   * Legacy and FIT format headers used by do_bootm() and do_bootm_<os>()   * routines. @@ -219,6 +226,7 @@ typedef struct bootm_headers {  #endif  #endif +	image_info_t	os;		/* os image info */  	ulong		ep;		/* entry point of OS */  	ulong		rd_start, rd_end;/* ramdisk start/end */ @@ -229,6 +237,7 @@ typedef struct bootm_headers {  	ulong		ft_len;		/* length of flat device tree */  	int		verify;		/* getenv("verify")[0] != 'n' */ +	int		valid;		/* set to 1 if we've set values in the header */  #ifndef USE_HOSTCC  	struct lmb	lmb;		/* for memory mgmt */  #endif |