Warnings with xilinx_zynqmp_virt

Michal Simek michal.simek at amd.com
Mon Jul 8 17:24:33 CEST 2024


Hi Simon,

On 7/2/24 17:51, Simon Glass wrote:
> Hi Michal,
> 
> I am seeing errors when building xilinx_zynqmp_virt:
> 
> Can't set hash 'value' property for 'hash' node(FDT_ERR_NOSPACE)
> Can't set hash value for 'hash' hash node in 'fdt_35' image node
> Can't add verification data for node 'fdt_35' (<unknown error>)
> 
> The problem is visible in CI, e.g. [1]
> 
> A bisect points to this, but it might not be helpful:
> 
> 46f04087712 (refs/bisect/bad) arm64: zynqmp: Add support for vck190
> revB system controller


I am aware about this issue.  I didn't have time to dig into it but actually 
that error should be suppress.

It is based on your commit
commit a9468115699de562f08796bf2eabd832435bedec
Author:     Simon Glass <sjg at chromium.org>
AuthorDate: Mon Jun 2 22:04:53 2014 -0600
Commit:     Tom Rini <trini at konsulko.com>
CommitDate: Wed Jun 11 16:25:46 2014 -0400

     mkimage: Automatically make space in FDT when full

     When adding hashes or signatures, the target FDT may be full. Detect this
     and automatically try again after making 1KB of space.

     Signed-off-by: Simon Glass <sjg at chromium.org>


that there is missing space in FDT. The first error should be reported from this 
function

diff --git a/boot/image-fit.c b/boot/image-fit.c
index 9253f81fff54..3509ed3bd168 100644
--- a/boot/image-fit.c
+++ b/boot/image-fit.c
@@ -1218,7 +1218,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t 
timestamp)
         ret = fdt_setprop(fit, noffset, FIT_TIMESTAMP_PROP, &t,
                                 sizeof(uint32_t));
         if (ret) {
-               debug("Can't set '%s' property for '%s' node (%s)\n",
+               fprintf(stderr, "Can't set '%s' property for '%s' node (%s)\n",
                       FIT_TIMESTAMP_PROP, fit_get_name(fit, noffset, NULL),
                       fdt_strerror(ret));
                 return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -1;


but
commit 8df81e17f81ba0542f6dbb7636db64fa56c12d8a
Author:     Simon Glass <sjg at chromium.org>
AuthorDate: Sun May 1 13:55:37 2016 -0600
Commit:     Tom Rini <trini at konsulko.com>
CommitDate: Mon May 23 11:50:18 2016 -0400

     image-fit: Don't display an error in fit_set_timestamp()

     This function returns an error code and its caller may be able to fix the
     error. For example fit_handle_file() expands the device tree to fit if there
     is a lack of space.

     In this case the caller does not want an error displayed. It is confusing,
     since it suggests that something is wrong, when it fact everything is fine.
     Drop the error.

     Signed-off-by: Simon Glass <sjg at chromium.org>

change it from printf to debug
I think the same chagne should be done for my error messages. Something like this.

diff --git a/tools/image-host.c b/tools/image-host.c
index 49ce7436bb97..e9e5eebe8dc3 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -40,7 +40,7 @@ static int fit_set_hash_value(void *fit, int noffset, uint8_t 
*value,

         ret = fdt_setprop(fit, noffset, FIT_VALUE_PROP, value, value_len);
         if (ret) {
-               fprintf(stderr, "Can't set hash '%s' property for '%s' node(%s)\n",
+               debug("Can't set hash '%s' property for '%s' node(%s)\n",
                         FIT_VALUE_PROP, fit_get_name(fit, noffset, NULL),
                         fdt_strerror(ret));
                 return ret == -FDT_ERR_NOSPACE ? -ENOSPC : -EIO;


> Also the board seems to be the only one still using SPL_FIT_GENERATOR.
> The migration message was added almost 3 years ago. Would it be
> possible to move it to use Binman?

we have it on our todo list but Venkatesh didn't get to that yet.

Thanks,
Michal



More information about the U-Boot mailing list