image: Add Kconfig options for FIT in the tools build
authorSimon Glass <sjg@chromium.org>
Sun, 26 Sep 2021 01:43:16 +0000 (19:43 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 8 Oct 2021 19:53:26 +0000 (15:53 -0400)
In preparation for enabling CONFIG_IS_ENABLED() on the host build, add
some options to enable the various FIT options expected in these tools.
This will ensure that the code builds correctly when CONFIG_TOOLS_xxx
is distinct from CONFIG_xxx.

Drop some #ifdefs which are immediately unnecessary (many more are in
later patches).

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
common/image-fit-sig.c
common/image-fit.c
tools/Kconfig

index b979cd2..e95e64b 100644 (file)
@@ -72,11 +72,12 @@ static int fit_image_setup_verify(struct image_sign_info *info,
        char *algo_name;
        const char *padding_name;
 
+#ifndef USE_HOSTCC
        if (fdt_totalsize(fit) > CONFIG_FIT_SIGNATURE_MAX_SIZE) {
                *err_msgp = "Total size too large";
                return 1;
        }
-
+#endif
        if (fit_image_hash_get_algo(fit, noffset, &algo_name)) {
                *err_msgp = "Can't get hash algo property";
                return -1;
index 6f8e67e..17c6d4e 100644 (file)
@@ -170,7 +170,7 @@ int fit_get_subimage_count(const void *fit, int images_noffset)
        return count;
 }
 
-#if CONFIG_IS_ENABLED(FIT_PRINT) || CONFIG_IS_ENABLED(SPL_FIT_PRINT)
+#if CONFIG_IS_ENABLED(FIT_PRINT)
 /**
  * fit_image_print_data() - prints out the hash node details
  * @fit: pointer to the FIT format image header
@@ -578,7 +578,7 @@ void fit_image_print(const void *fit, int image_noffset, const char *p)
 #else
 void fit_print_contents(const void *fit) { }
 void fit_image_print(const void *fit, int image_noffset, const char *p) { }
-#endif /* CONFIG_IS_ENABLED(FIR_PRINT) || CONFIG_IS_ENABLED(SPL_FIT_PRINT) */
+#endif /* CONFIG_IS_ENABLED(FIT_PRINT) */
 
 /**
  * fit_get_desc - get node description property
index d6f82cd..ea986ab 100644 (file)
@@ -20,4 +20,29 @@ config TOOLS_LIBCRYPTO
          This selection does not affect target features, such as runtime FIT
          signature verification.
 
+config TOOLS_FIT
+       def_bool y
+       help
+         Enable FIT support in the tools builds.
+
+config TOOLS_FIT_FULL_CHECK
+       def_bool y
+       help
+         Do a full check of the FIT before using it in the tools builds
+
+config TOOLS_FIT_PRINT
+       def_bool y
+       help
+         Print the content of the FIT verbosely in the tools builds
+
+config TOOLS_FIT_SIGNATURE
+       def_bool y
+       help
+         Enable signature verification of FIT uImages in the tools builds
+
+config TOOLS_FIT_SIGNATURE_MAX_SIZE
+       hex
+       depends on TOOLS_FIT_SIGNATURE
+       default 0x10000000
+
 endmenu