summaryrefslogtreecommitdiff
path: root/common/image-fit.c
diff options
context:
space:
mode:
authorClément Péron <peron.clem@gmail.com>2018-04-30 11:06:40 +0200
committerTom Rini <trini@konsulko.com>2018-05-08 18:50:24 -0400
commit71412d723161d14f887e548aca42c51d144e3489 (patch)
tree7943d6efab658f318f46ae8067db7984b7828343 /common/image-fit.c
parent218ac107c53193f165c0af31c435b232863f04a0 (diff)
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.c13
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)
{