All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [PATCH v2 22/50] image: Drop IMAGE_ENABLE_FIT
Date: Thu,  6 May 2021 08:24:10 -0600	[thread overview]
Message-ID: <20210506082420.v2.22.I5eff8885424543bf587addd1c5685f79077b3a15@changeid> (raw)
In-Reply-To: <20210506142438.1310977-1-sjg@chromium.org>

Make use of the host Kconfig for FIT. With this we can use
CONFIG_IS_ENABLED(FIT) directly in the host build, so drop the unnecessary
indirection.

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

(no changes since v1)

 arch/arm/mach-imx/hab.c |  2 +-
 common/bootm.c          | 10 +++++-----
 common/image-board.c    | 16 ++++++++--------
 common/image.c          |  2 +-
 include/fdt_support.h   |  2 +-
 include/image.h         | 22 +++++++++-------------
 tools/Kconfig           | 20 ++++++++++++++++++++
 7 files changed, 45 insertions(+), 29 deletions(-)

diff --git a/arch/arm/mach-imx/hab.c b/arch/arm/mach-imx/hab.c
index 00bd157d0e0..cf522226f67 100644
--- a/arch/arm/mach-imx/hab.c
+++ b/arch/arm/mach-imx/hab.c
@@ -591,7 +591,7 @@ static ulong get_image_ivt_offset(ulong img_addr)
 		return (image_get_image_size((image_header_t *)img_addr)
 			+ 0x1000 - 1)  & ~(0x1000 - 1);
 #endif
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	case IMAGE_FORMAT_FIT:
 		return (fit_get_size(buf) + 0x1000 - 1)  & ~(0x1000 - 1);
 #endif
diff --git a/common/bootm.c b/common/bootm.c
index fe17d1da9e5..8d614fe140e 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -115,7 +115,7 @@ static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
 		images.os.arch = image_get_arch(os_hdr);
 		break;
 #endif
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	case IMAGE_FORMAT_FIT:
 		if (fit_image_get_type(images.fit_hdr_os,
 				       images.fit_noffset_os,
@@ -187,7 +187,7 @@ static int bootm_find_os(struct cmd_tbl *cmdtp, int flag, int argc,
 		/* Kernel entry point is the setup.bin */
 	} else if (images.legacy_hdr_valid) {
 		images.ep = image_get_ep(&images.legacy_hdr_os_copy);
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	} else if (images.fit_uname_os) {
 		int ret;
 
@@ -295,7 +295,7 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start,
 		set_working_fdt_addr(map_to_sysmem(images.ft_addr));
 #endif
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	if (IS_ENABLED(CONFIG_FPGA)) {
 		/* find bitstreams */
 		ret = boot_get_fpga(argc, argv, &images, IH_ARCH_DEFAULT,
@@ -858,7 +858,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
 	const void *buf;
 	const char	*fit_uname_config = NULL;
 	const char	*fit_uname_kernel = NULL;
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	int		os_noffset;
 #endif
 
@@ -916,7 +916,7 @@ static const void *boot_get_kernel(struct cmd_tbl *cmdtp, int flag, int argc,
 		bootstage_mark(BOOTSTAGE_ID_DECOMP_IMAGE);
 		break;
 #endif
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	case IMAGE_FORMAT_FIT:
 		os_noffset = fit_image_load(images, img_addr,
 				&fit_uname_kernel, &fit_uname_config,
diff --git a/common/image-board.c b/common/image-board.c
index 0f41ede1e98..05eeaaac8b0 100644
--- a/common/image-board.c
+++ b/common/image-board.c
@@ -282,7 +282,7 @@ int genimg_get_format(const void *img_addr)
 	if (image_check_magic(hdr))
 		return IMAGE_FORMAT_LEGACY;
 #endif
-#if IMAGE_ENABLE_FIT || IMAGE_ENABLE_OF_LIBFDT
+#if CONFIG_IS_ENABLED(FIT) || IMAGE_ENABLE_OF_LIBFDT
 	if (fdt_check_header(img_addr) == 0)
 		return IMAGE_FORMAT_FIT;
 #endif
@@ -307,7 +307,7 @@ int genimg_get_format(const void *img_addr)
  */
 int genimg_has_config(bootm_headers_t *images)
 {
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	if (images->fit_uname_cfg)
 		return 1;
 #endif
@@ -348,7 +348,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
 #ifdef CONFIG_SUPPORT_RAW_INITRD
 	char *end;
 #endif
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	const char	*fit_uname_config = images->fit_uname_cfg;
 	const char	*fit_uname_ramdisk = NULL;
 	ulong		default_addr;
@@ -380,7 +380,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
 		rd_len = 0;
 		rd_data = 0;
 	} else if (select || genimg_has_config(images)) {
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 		if (select) {
 			/*
 			 * If the init ramdisk comes from the FIT image and
@@ -409,7 +409,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
 				debug("*  ramdisk: cmdline image address = 0x%08lx\n",
 				      rd_addr);
 			}
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 		} else {
 			/* use FIT configuration provided in first bootm
 			 * command argument. If the property is not defined,
@@ -450,7 +450,7 @@ int boot_get_ramdisk(int argc, char *const argv[], bootm_headers_t *images,
 			rd_load = image_get_load(rd_hdr);
 			break;
 #endif
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 		case IMAGE_FORMAT_FIT:
 			rd_noffset = fit_image_load(images,
 						    rd_addr, &fit_uname_ramdisk,
@@ -623,14 +623,14 @@ error:
 int boot_get_setup(bootm_headers_t *images, u8 arch,
 		   ulong *setup_start, ulong *setup_len)
 {
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	return boot_get_setup_fit(images, arch, setup_start, setup_len);
 #else
 	return -ENOENT;
 #endif
 }
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 #if defined(CONFIG_FPGA)
 int boot_get_fpga(int argc, char *const argv[], bootm_headers_t *images,
 		  u8 arch, const ulong *ld_start, ulong * const ld_len)
diff --git a/common/image.c b/common/image.c
index 086ae609f29..f105b5e8857 100644
--- a/common/image.c
+++ b/common/image.c
@@ -18,7 +18,7 @@
 #include <status_led.h>
 #endif
 
-#if IMAGE_ENABLE_FIT || IMAGE_ENABLE_OF_LIBFDT
+#if CONFIG_IS_ENABLED(FIT) || IMAGE_ENABLE_OF_LIBFDT
 #include <linux/libfdt.h>
 #include <fdt_support.h>
 #endif
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 46eb1dbbb24..9b2929a982e 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -7,7 +7,7 @@
 #ifndef __FDT_SUPPORT_H
 #define __FDT_SUPPORT_H
 
-#ifdef CONFIG_OF_LIBFDT
+#if !defined(USE_HOSTCC) && defined(CONFIG_OF_LIBFDT)
 
 #include <asm/u-boot.h>
 #include <linux/libfdt.h>
diff --git a/include/image.h b/include/image.h
index 61da0abace7..522e9dbff5f 100644
--- a/include/image.h
+++ b/include/image.h
@@ -25,15 +25,12 @@ struct fdt_region;
 
 #ifdef USE_HOSTCC
 #include <sys/types.h>
+#include <linux/kconfig.h>
 
 /* new uImage format support enabled on host */
-#define IMAGE_ENABLE_FIT	1
 #define IMAGE_ENABLE_OF_LIBFDT	1
 #define CONFIG_FIT_VERBOSE	1 /* enable fit_format_{error,warning}() */
 #define CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT 1
-#define CONFIG_FIT_SHA256
-#define CONFIG_FIT_SHA384
-#define CONFIG_FIT_SHA512
 
 #define IMAGE_ENABLE_IGNORE	0
 #define IMAGE_INDENT_STRING	""
@@ -48,12 +45,11 @@ struct fdt_region;
 #define IMAGE_ENABLE_IGNORE	1
 #define IMAGE_INDENT_STRING	"   "
 
-#define IMAGE_ENABLE_FIT	CONFIG_IS_ENABLED(FIT)
 #define IMAGE_ENABLE_OF_LIBFDT	CONFIG_IS_ENABLED(OF_LIBFDT)
 
 #endif /* USE_HOSTCC */
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 #include <hash.h>
 #include <linux/libfdt.h>
 #include <fdt_support.h>
@@ -106,7 +102,7 @@ struct fdt_region;
 #define IMAGE_ENABLE_SHA512	0
 #endif
 
-#endif /* IMAGE_ENABLE_FIT */
+#endif /* FIT */
 
 #ifdef CONFIG_SYS_BOOT_GET_CMDLINE
 # define IMAGE_BOOT_GET_CMDLINE		1
@@ -379,7 +375,7 @@ typedef struct bootm_headers {
 	image_header_t	legacy_hdr_os_copy;	/* header copy */
 	ulong		legacy_hdr_valid;
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 	const char	*fit_uname_cfg;	/* configuration node unit name */
 
 	void		*fit_hdr_os;	/* os FIT image header */
@@ -1034,7 +1030,7 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
 
 #define FIT_MAX_HASH_LEN	HASH_MAX_DIGEST_SIZE
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 /* cmdline argument format parsing */
 int fit_parse_conf(const char *spec, ulong addr_curr,
 		ulong *addr, const char **conf_name);
@@ -1208,7 +1204,7 @@ int fit_conf_get_prop_node(const void *fit, int noffset,
 
 int fit_check_ramdisk(const void *fit, int os_noffset,
 		uint8_t arch, int verify);
-#endif /* IMAGE_ENABLE_FIT */
+#endif /* FIT */
 
 int calculate_hash(const void *data, int data_len, const char *algo,
 			uint8_t *value, int *value_len);
@@ -1237,7 +1233,7 @@ int calculate_hash(const void *data, int data_len, const char *algo,
 # define FIT_IMAGE_ENABLE_VERIFY	CONFIG_IS_ENABLED(FIT_SIGNATURE)
 #endif
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 #ifdef USE_HOSTCC
 void *image_get_host_blob(void);
 void image_set_host_blob(void *host_blob);
@@ -1251,7 +1247,7 @@ void image_set_host_blob(void *host_blob);
 #else
 #define IMAGE_ENABLE_BEST_MATCH	0
 #endif
-#endif /* IMAGE_ENABLE_FIT */
+#endif /* FIT */
 
 /*
  * Information passed to the signing routines
@@ -1389,7 +1385,7 @@ struct crypto_algo *image_get_crypto_algo(const char *full_name);
  */
 struct padding_algo *image_get_padding_algo(const char *name);
 
-#if IMAGE_ENABLE_FIT
+#if CONFIG_IS_ENABLED(FIT)
 
 /**
  * fit_image_verify_required_sigs() - Verify signatures marked as 'required'
diff --git a/tools/Kconfig b/tools/Kconfig
index 5c3e485a298..8af66a51c09 100644
--- a/tools/Kconfig
+++ b/tools/Kconfig
@@ -24,6 +24,26 @@ config HOST_FIT_PRINT
 	help
 	  Print the content of the FIT verbosely in the host build
 
+config HOST_FIT_SHA1
+	def_bool y
+	help
+	  Support SHA256 checksum of FIT image contents in the host build
+
+config HOST_FIT_SHA256
+	def_bool y
+	help
+	  Support SHA256 checksum of FIT image contents in the host build
+
+config HOST_FIT_SHA384
+	def_bool y
+	help
+	  Support SHA384 checksum of FIT image contents in the host build
+
+config HOST_FIT_SHA512
+	def_bool y
+	help
+	  Support SHA512 checksum of FIT image contents in the host build
+
 config HOST_FIT_SIGNATURE
 	def_bool y
 	help
-- 
2.31.1.607.g51e8a6a459-goog

  parent reply	other threads:[~2021-05-06 14:24 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-06 14:23 [PATCH v2 00/50] image: Reduce #ifdefs and ad-hoc defines in image code Simon Glass
2021-05-06 14:23 ` [PATCH v2 01/50] lib: Add memdup() Simon Glass
2021-05-06 17:07   ` Pratyush Yadav
2021-05-06 17:41     ` Simon Glass
2021-05-06 17:57       ` Sean Anderson
2021-05-10  9:00       ` Rasmus Villemoes
2021-05-10 11:21         ` Heinrich Schuchardt
2021-05-10 16:28         ` Simon Glass
2021-05-06 14:23 ` [PATCH v2 02/50] Add support for an owned buffer Simon Glass
2021-05-06 14:23 ` [PATCH v2 03/50] compiler: Add a comment to host_build() Simon Glass
2021-05-06 14:23 ` [PATCH v2 04/50] zstd: Create a function for use from U-Boot Simon Glass
2021-05-06 14:23 ` [PATCH v2 05/50] btrfs: Use U-Boot API for decompression Simon Glass
2021-05-06 14:23 ` [PATCH v2 06/50] image: Avoid switch default in image_decomp() Simon Glass
2021-05-06 14:23 ` [PATCH v2 07/50] image: Update zstd to avoid reporting error twice Simon Glass
2021-05-06 14:23 ` [PATCH v2 08/50] gzip: Avoid use of u64 Simon Glass
2021-05-06 14:23 ` [PATCH v2 09/50] image: Update image_decomp() to avoid ifdefs Simon Glass
2021-05-06 14:23 ` [PATCH v2 10/50] image: Split board code out into its own file Simon Glass
2021-05-06 14:23 ` [PATCH v2 11/50] image: Fix up checkpatch warnings in image-board.c Simon Glass
2021-05-06 14:24 ` [PATCH v2 12/50] image: Split host code out into its own file Simon Glass
2021-05-06 14:24 ` [PATCH v2 13/50] image: Create a function to do manual relocation Simon Glass
2021-05-06 14:24 ` [PATCH v2 14/50] image: Avoid #ifdefs for " Simon Glass
2021-05-06 14:24 ` [PATCH v2 15/50] image: Remove ifdefs around image_setup_linux() el at Simon Glass
2021-05-06 14:24 ` [PATCH v2 16/50] image: Add Kconfig options for FIT in the host build Simon Glass
2021-05-11 19:57   ` Alex G.
2021-05-11 22:34     ` Tom Rini
2021-05-12  0:50       ` Alex G.
2021-05-12  1:10         ` Tom Rini
2021-05-12 15:52           ` Simon Glass
2021-05-12 16:19             ` Alex G.
2021-05-12 17:14               ` Tom Rini
2021-05-17 22:29                 ` Alex G.
2021-05-18  1:23                   ` AKASHI Takahiro
2021-05-19 15:49                     ` Alex G
2021-05-12 14:51     ` Simon Glass
2021-05-12 15:48       ` Alex G.
2021-05-12 15:54         ` Simon Glass
2021-05-12 16:18           ` Alex G.
2021-05-12 17:30             ` Simon Glass
2021-05-13 16:21               ` Alex G.
2021-05-13 23:56                 ` Simon Glass
2021-05-14 15:12                   ` Alex G.
2021-05-15 15:20                     ` Simon Glass
2021-05-06 14:24 ` [PATCH v2 17/50] kconfig: Add host support to CONFIG_IS_ENABLED() Simon Glass
2021-05-06 14:24 ` [PATCH v2 18/50] image: Shorten FIT_ENABLE_SHAxxx_SUPPORT Simon Glass
2021-05-14 15:30   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 19/50] image: Rename SPL_SHAxxx_SUPPORT to SPL_FIT_SHAxxx Simon Glass
2021-05-14 15:34   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 20/50] hash: Use Kconfig to enable hashing in host tools Simon Glass
2021-05-06 14:24 ` [PATCH v2 21/50] hash: Drop some #ifdefs in hash.c Simon Glass
2021-05-14 15:37   ` Alex G.
2021-05-14 20:43     ` Tom Rini
2021-05-06 14:24 ` Simon Glass [this message]
2021-05-06 14:24 ` [PATCH v2 23/50] image: Drop IMAGE_ENABLE_OF_LIBFDT Simon Glass
2021-05-06 14:24 ` [PATCH v2 24/50] image: Use Kconfig to enable CONFIG_FIT_VERBOSE on host Simon Glass
2021-05-06 14:24 ` [PATCH v2 25/50] image: Rename CONFIG_FIT_ENABLE_RSASSA_PSS_SUPPORT Simon Glass
2021-05-06 14:24 ` [PATCH v2 26/50] image: Use Kconfig to enable FIT_RSASSA_PSS on host Simon Glass
2021-05-06 14:24 ` [PATCH v2 27/50] Kconfig: Rename SPL_CRC32_SUPPORT to SPL_CRC32 Simon Glass
2021-05-14 21:31   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 28/50] image: Drop IMAGE_ENABLE_CRC32 Simon Glass
2021-05-06 14:24 ` [PATCH v2 29/50] Kconfig: Rename SPL_MD5_SUPPORT to SPL_MD5 Simon Glass
2021-05-14 21:31   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 30/50] image: Drop IMAGE_ENABLE_MD5 Simon Glass
2021-05-06 14:24 ` [PATCH v2 31/50] image: Drop IMAGE_ENABLE_SHA1 Simon Glass
2021-05-06 14:24 ` [PATCH v2 32/50] image: Drop IMAGE_ENABLE_SHAxxx Simon Glass
2021-05-06 14:24 ` [PATCH v2 33/50] image: Drop IMAGE_BOOT_GET_CMDLINE Simon Glass
2021-05-06 14:24 ` [PATCH v2 34/50] image: Drop IMAGE_OF_BOARD_SETUP Simon Glass
2021-05-06 14:24 ` [PATCH v2 35/50] image: Drop IMAGE_OF_SYSTEM_SETUP Simon Glass
2021-05-06 14:24 ` [PATCH v2 36/50] image: Drop IMAGE_ENABLE_IGNORE Simon Glass
2021-05-06 14:24 ` [PATCH v2 37/50] image: Drop IMAGE_ENABLE_SIGN/VERIFY defines Simon Glass
2021-05-14 20:38   ` Alex G.
2021-05-14 20:44     ` Simon Glass
2021-05-14 21:17       ` Alex G.
2021-05-15 15:20         ` Simon Glass
2021-05-06 14:24 ` [PATCH v2 38/50] image: Drop IMAGE_ENABLE_BEST_MATCH Simon Glass
2021-05-14 21:32   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 39/50] image: Drop IMAGE_ENABLE_EN/DECRYPT defines Simon Glass
2021-05-06 14:24 ` [PATCH v2 40/50] image: Tidy up fit_unsupported_reset() Simon Glass
2021-05-06 14:24 ` [PATCH v2 41/50] image: Drop unnecessary #ifdefs from image.h Simon Glass
2021-05-14 21:45   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 42/50] image: Drop #ifdefs for fit_print_contents() Simon Glass
2021-05-14 21:46   ` Alex G.
2021-05-06 14:24 ` [PATCH v2 43/50] image: Drop most #ifdefs in image-board.c Simon Glass
2021-05-06 14:24 ` [PATCH v2 44/50] image: Reduce variable scope in boot_get_ramdisk() Simon Glass
2021-05-06 14:24 ` [PATCH v2 45/50] image: Split up boot_get_ramdisk() Simon Glass
2021-05-06 14:24 ` [PATCH v2 46/50] image: Remove #ifdefs from select_ramdisk() Simon Glass
2021-05-06 14:24 ` [PATCH v2 47/50] image: Remove some #ifdefs from image-fit and image-fit-sig Simon Glass
2021-05-14 21:50   ` Alex G.
2021-05-15 15:20     ` Simon Glass
2021-05-06 14:24 ` [PATCH v2 48/50] image: Reduce variable scope in boot_get_fdt() Simon Glass
2021-05-06 14:24 ` [PATCH v2 49/50] image: Split up boot_get_fdt() Simon Glass
2021-05-06 14:24 ` [PATCH v2 50/50] image: Remove #ifdefs from select_fdt() Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210506082420.v2.22.I5eff8885424543bf587addd1c5685f79077b3a15@changeid \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.