diff options
author | Clément Péron <peron.clem@gmail.com> | 2018-04-30 12:06:40 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-05-09 01:50:24 +0300 |
commit | 71412d723161d14f887e548aca42c51d144e3489 (patch) | |
tree | 7943d6efab658f318f46ae8067db7984b7828343 /common/image-fit.c | |
parent | 218ac107c53193f165c0af31c435b232863f04a0 (diff) | |
download | u-boot-71412d723161d14f887e548aca42c51d144e3489.tar.xz |
image: fit: Show signatures and hashes for configurations
The signature/hash information are displayed for images but nor for
configurations.
Add subnodes printing in fit_conf_print() like it's done in fit_image_print()
Signed-off-by: Clément Péron <peron.clem@gmail.com>
[trini: Add guards around fit_conf_print to avoid warnings]
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'common/image-fit.c')
-rw-r--r-- | common/image-fit.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/common/image-fit.c b/common/image-fit.c index 9798fcd130..5b93dceae1 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1571,6 +1571,7 @@ int fit_conf_get_prop_node(const void *fit, int noffset, return fit_conf_get_prop_node_index(fit, noffset, prop_name, 0); } +#if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_FIT_SPL_PRINT) /** * fit_conf_print - prints out the FIT configuration details * @fit: pointer to the FIT format image header @@ -1589,6 +1590,7 @@ void fit_conf_print(const void *fit, int noffset, const char *p) const char *uname; int ret; int fdt_index, loadables_index; + int ndepth; /* Mandatory properties */ ret = fit_get_desc(fit, noffset, &desc); @@ -1642,7 +1644,18 @@ void fit_conf_print(const void *fit, int noffset, const char *p) } printf("%s\n", uname); } + + /* Process all hash subnodes of the component configuration node */ + for (ndepth = 0, noffset = fdt_next_node(fit, noffset, &ndepth); + (noffset >= 0) && (ndepth > 0); + noffset = fdt_next_node(fit, noffset, &ndepth)) { + if (ndepth == 1) { + /* Direct child node of the component configuration node */ + fit_image_print_verification_data(fit, noffset, p); + } + } } +#endif /* !defined(CONFIG_SPL_BUILD) || defined(CONFIG_FIT_SPL_PRINT) */ static int fit_image_select(const void *fit, int rd_noffset, int verify) { |