diff options
author | Minkyu Kang <mk7.kang@samsung.com> | 2010-03-15 10:51:36 +0900 |
---|---|---|
committer | Minkyu Kang <mk7.kang@samsung.com> | 2010-03-15 10:51:36 +0900 |
commit | 995a4b1d83a08223c82c1e15778b02e85e5bba51 (patch) | |
tree | 0acb85278216df76d8fb7284b32d6dd95a1fc978 /tools | |
parent | a8d25fc26f681a9c4dfb062ebb4b00b9509a7966 (diff) | |
parent | 44de3e8ff7ed48bf96ec6c5e2173187d9c1c61e6 (diff) | |
download | u-boot-imx-995a4b1d83a08223c82c1e15778b02e85e5bba51.zip u-boot-imx-995a4b1d83a08223c82c1e15778b02e85e5bba51.tar.gz u-boot-imx-995a4b1d83a08223c82c1e15778b02e85e5bba51.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Conflicts:
board/davinci/da830evm/da830evm.c
board/edb93xx/sdram_cfg.c
board/esd/otc570/otc570.c
board/netstar/eeprom.c
board/netstar/eeprom_start.S
cpu/arm920t/ep93xx/timer.c
include/configs/netstar.h
include/configs/otc570.h
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/imximage.c | 32 | ||||
-rw-r--r-- | tools/imximage.h | 2 |
2 files changed, 16 insertions, 18 deletions
diff --git a/tools/imximage.c b/tools/imximage.c index 59923ff..df2d8c4 100644 --- a/tools/imximage.c +++ b/tools/imximage.c @@ -101,22 +101,23 @@ static void imximage_print_header(const void *ptr) struct imx_header *imx_hdr = (struct imx_header *) ptr; flash_header_t *hdr = &imx_hdr->fhdr; uint32_t size; - flash_cfg_parms_t *ext_header; + uint32_t length; + dcd_t *dcd = &imx_hdr->dcd_table; size = imx_hdr->dcd_table.preamble.length; if (size > (MAX_HW_CFG_SIZE * sizeof(dcd_type_addr_data_t))) { fprintf(stderr, "Error: Image corrupt DCD size %d exceed maximum %d\n", - size / sizeof(dcd_type_addr_data_t), MAX_HW_CFG_SIZE); + (uint32_t)(size / sizeof(dcd_type_addr_data_t)), + MAX_HW_CFG_SIZE); exit(EXIT_FAILURE); } - ext_header = (flash_cfg_parms_t *) ((uint32_t)&imx_hdr->dcd_table + - sizeof(dcd_preamble_t) + size); + length = dcd->preamble.length / sizeof(dcd_type_addr_data_t); printf("Image Type: Freescale IMX Boot Image\n"); printf("Data Size: "); - genimg_print_size(ext_header->length); + genimg_print_size(dcd->addr_data[length].type); printf("Load Address: %08x\n", (unsigned int)hdr->app_dest_ptr); printf("Entry Point: %08x\n", (unsigned int)hdr->app_code_jump_vector); } @@ -128,7 +129,7 @@ static uint32_t imximage_parse_cfg_file(struct imx_header *imxhdr, char *name) char *token, *saveptr1, *saveptr2; int lineno = 0; int fld, value; - uint32_t len; + size_t len; int dcd_len = 0; dcd_t *dcd = &imxhdr->dcd_table; int32_t cmd; @@ -237,7 +238,7 @@ static uint32_t imximage_parse_cfg_file(struct imx_header *imxhdr, char *name) dcd->preamble.length = dcd_len * sizeof(dcd_type_addr_data_t); fclose(fd); - return dcd->preamble.length; + return dcd_len; } static void imximage_set_header(void *ptr, struct stat *sbuf, int ifd, @@ -246,7 +247,7 @@ static void imximage_set_header(void *ptr, struct stat *sbuf, int ifd, struct imx_header *hdr = (struct imx_header *)ptr; flash_header_t *fhdr = &hdr->fhdr; int dcd_len; - flash_cfg_parms_t *ext_header; + dcd_t *dcd = &hdr->dcd_table; uint32_t base_offset; /* Set default offset */ @@ -264,24 +265,21 @@ static void imximage_set_header(void *ptr, struct stat *sbuf, int ifd, fhdr->app_code_jump_vector = params->ep; base_offset = fhdr->app_dest_ptr + hdr->flash_offset ; - fhdr->dcd_ptr_ptr = (uint32_t) ((uint32_t)&fhdr->dcd_ptr - - (uint32_t)&fhdr->app_code_jump_vector) + base_offset ; + fhdr->dcd_ptr_ptr = (uint32_t) (offsetof(flash_header_t, dcd_ptr) - + offsetof(flash_header_t, app_code_jump_vector) + + base_offset); fhdr->dcd_ptr = base_offset + - ((uint32_t)&hdr->dcd_table - - (uint32_t)&hdr->fhdr); + offsetof(struct imx_header, dcd_table); /* The external flash header must be at the end of the DCD table */ - ext_header = (flash_cfg_parms_t *) ((uint32_t)&hdr->dcd_table + - dcd_len + - sizeof(dcd_preamble_t)); - ext_header->length = sbuf->st_size + + dcd->addr_data[dcd_len].type = sbuf->st_size + hdr->flash_offset + sizeof(struct imx_header); /* Security feature are not supported */ fhdr->app_code_csf = 0; - fhdr->super_root_key = NULL; + fhdr->super_root_key = 0; } diff --git a/tools/imximage.h b/tools/imximage.h index c579f51..b4d926d 100644 --- a/tools/imximage.h +++ b/tools/imximage.h @@ -81,7 +81,7 @@ typedef struct { uint32_t app_code_barker; uint32_t app_code_csf; uint32_t dcd_ptr_ptr; - hab_rsa_public_key *super_root_key; + uint32_t super_root_key; uint32_t dcd_ptr; uint32_t app_dest_ptr; } flash_header_t; |