summaryrefslogtreecommitdiffstats
path: root/include/image.h
diff options
context:
space:
mode:
authorBryan Wu <cooloney@gmail.com>2014-08-15 16:51:38 -0700
committerTom Rini <trini@ti.com>2014-08-21 12:01:29 -0400
commit6c454fedf5195e4160bd7aa398f7a4bb17d7157c (patch)
tree6fb190e57815b3afa3883245bf076008be07f577 /include/image.h
parentf28c9708e35d8cc9c5a116dbe13ee9281affb097 (diff)
downloadtalos-obmc-uboot-6c454fedf5195e4160bd7aa398f7a4bb17d7157c.tar.gz
talos-obmc-uboot-6c454fedf5195e4160bd7aa398f7a4bb17d7157c.zip
image: fix bootm failure for FIT image
Commit b3dd64f5d537 "bootm: use genimg_get_kernel_addr()" introduced a bug for booting FIT image. It's because calling fit_parse_config() twice will give us wrong value in img_addr. Add a new function genimg_get_kernel_addr_fit() whichl will always return fit_uname_config and fit_uname_kernel for CONFIG_FIT. genimg_get_kernel_addr() will ignore those to parameters. Reported-by: York Sun <yorksun@freescale.com> Signed-off-by: Bryan Wu <pengw@nvidia.com>
Diffstat (limited to 'include/image.h')
-rw-r--r--include/image.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/image.h b/include/image.h
index ca2fe862ce..69f86ad49e 100644
--- a/include/image.h
+++ b/include/image.h
@@ -424,6 +424,9 @@ enum fit_load_op {
#define IMAGE_FORMAT_FIT 0x02 /* new, libfdt based format */
#define IMAGE_FORMAT_ANDROID 0x03 /* Android boot image */
+ulong genimg_get_kernel_addr_fit(char * const img_addr,
+ const char **fit_uname_config,
+ const char **fit_uname_kernel);
ulong genimg_get_kernel_addr(char * const img_addr);
int genimg_get_format(const void *img_addr);
int genimg_has_config(bootm_headers_t *images);
OpenPOWER on IntegriCloud