[PATCHv5 04/26] common: fit: Update board_fit_image_post_process() to pass fit and node_offset

Tero Kristo kristo at kernel.org
Wed Jun 9 12:33:40 CEST 2021


Hi,

There is apparently a build failure with ARM socfpga board, the change 
below fixes it and should be squashed to the original patch:

diff --git a/arch/arm/mach-socfpga/board.c b/arch/arm/mach-socfpga/board.c
index 650122fcd4..36eecdc057 100644
--- a/arch/arm/mach-socfpga/board.c
+++ b/arch/arm/mach-socfpga/board.c
@@ -103,7 +103,8 @@ __weak int board_fit_config_name_match(const char *name)
  #endif

  #if IS_ENABLED(CONFIG_FIT_IMAGE_POST_PROCESS)
-void board_fit_image_post_process(void **p_image, size_t *p_size)
+void board_fit_image_post_process(const void *fit, int node, void 
**p_image,
+				  size_t *p_size)
  {
  	if (IS_ENABLED(CONFIG_SOCFPGA_SECURE_VAB_AUTH)) {
  		if (socfpga_vendor_authentication(p_image, p_size))
-- 


-Tero

On 03/06/2021 09:32, Tero Kristo wrote:
> From: Lokesh Vutla <lokeshvutla at ti.com>
> 
> board_fit_image_post_process() passes only start and size of the image,
> but type of the image is not passed. So pass fit and node_offset, to
> derive information about image to be processed.
> 
> Signed-off-by: Lokesh Vutla <lokeshvutla at ti.com>
> Reviewed-by: Tom Rini <trini at konsulko.com>
> Signed-off-by: Tero Kristo <kristo at kernel.org>
> ---
>   arch/arm/mach-k3/security.c  | 3 ++-
>   arch/arm/mach-keystone/mon.c | 3 ++-
>   board/ti/am335x/board.c      | 3 ++-
>   board/ti/am43xx/board.c      | 3 ++-
>   board/ti/am57xx/board.c      | 3 ++-
>   board/ti/dra7xx/evm.c        | 3 ++-
>   common/image-fit.c           | 2 +-
>   common/spl/spl_fit.c         | 2 +-
>   include/image.h              | 5 ++++-
>   9 files changed, 18 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm/mach-k3/security.c b/arch/arm/mach-k3/security.c
> index 66f90a5a34..5b5ff9ba7b 100644
> --- a/arch/arm/mach-k3/security.c
> +++ b/arch/arm/mach-k3/security.c
> @@ -18,7 +18,8 @@
>   #include <spl.h>
>   #include <asm/arch/sys_proto.h>
>   
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	struct ti_sci_handle *ti_sci = get_ti_sci_handle();
>   	struct ti_sci_proc_ops *proc_ops = &ti_sci->ops.proc_ops;
> diff --git a/arch/arm/mach-keystone/mon.c b/arch/arm/mach-keystone/mon.c
> index 58995d73ac..b863bab196 100644
> --- a/arch/arm/mach-keystone/mon.c
> +++ b/arch/arm/mach-keystone/mon.c
> @@ -103,7 +103,8 @@ static int k2_hs_bm_auth(int cmd, void *arg1)
>   	return  result;
>   }
>   
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	int result = 0;
>   	void *image = *p_image;
> diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
> index 5959ff73dc..5c156a5d1d 100644
> --- a/board/ti/am335x/board.c
> +++ b/board/ti/am335x/board.c
> @@ -960,7 +960,8 @@ int board_fit_config_name_match(const char *name)
>   #endif
>   
>   #ifdef CONFIG_TI_SECURE_DEVICE
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	secure_boot_verify_image(p_image, p_size);
>   }
> diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c
> index e9febb9592..a71b588efc 100644
> --- a/board/ti/am43xx/board.c
> +++ b/board/ti/am43xx/board.c
> @@ -896,7 +896,8 @@ int embedded_dtb_select(void)
>   #endif
>   
>   #ifdef CONFIG_TI_SECURE_DEVICE
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	secure_boot_verify_image(p_image, p_size);
>   }
> diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
> index 05c26c74d9..399a2e5d91 100644
> --- a/board/ti/am57xx/board.c
> +++ b/board/ti/am57xx/board.c
> @@ -1199,7 +1199,8 @@ static int board_bootmode_has_emmc(void)
>   #endif
>   
>   #ifdef CONFIG_TI_SECURE_DEVICE
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	secure_boot_verify_image(p_image, p_size);
>   }
> diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
> index 05f251f778..23e8005991 100644
> --- a/board/ti/dra7xx/evm.c
> +++ b/board/ti/dra7xx/evm.c
> @@ -1065,7 +1065,8 @@ int fastboot_set_reboot_flag(enum fastboot_reboot_reason reason)
>   #endif
>   
>   #ifdef CONFIG_TI_SECURE_DEVICE
> -void board_fit_image_post_process(void **p_image, size_t *p_size)
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size)
>   {
>   	secure_boot_verify_image(p_image, p_size);
>   }
> diff --git a/common/image-fit.c b/common/image-fit.c
> index e614643fe3..0c5a05948d 100644
> --- a/common/image-fit.c
> +++ b/common/image-fit.c
> @@ -2143,7 +2143,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
>   
>   	/* perform any post-processing on the image data */
>   	if (!host_build() && IS_ENABLED(CONFIG_FIT_IMAGE_POST_PROCESS))
> -		board_fit_image_post_process(&buf, &size);
> +		board_fit_image_post_process(fit, noffset, &buf, &size);
>   
>   	len = (ulong)size;
>   
> diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
> index caddf51196..57d621d5b3 100644
> --- a/common/spl/spl_fit.c
> +++ b/common/spl/spl_fit.c
> @@ -320,7 +320,7 @@ static int spl_load_fit_image(struct spl_load_info *info, ulong sector,
>   	}
>   
>   	if (CONFIG_IS_ENABLED(FIT_IMAGE_POST_PROCESS))
> -		board_fit_image_post_process(&src, &length);
> +		board_fit_image_post_process(fit, node, &src, &length);
>   
>   	load_ptr = map_sysmem(load_addr, length);
>   	if (IS_ENABLED(CONFIG_SPL_GZIP) && image_comp == IH_COMP_GZIP) {
> diff --git a/include/image.h b/include/image.h
> index 459685d4d4..0c24bf6f35 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -1581,11 +1581,14 @@ int board_fit_config_name_match(const char *name);
>    * into the FIT creation (i.e. the binary blobs would have been pre-processed
>    * before being added to the FIT image).
>    *
> + * @fit: pointer to fit image
> + * @node: offset of image node
>    * @image: pointer to the image start pointer
>    * @size: pointer to the image size
>    * @return no return value (failure should be handled internally)
>    */
> -void board_fit_image_post_process(void **p_image, size_t *p_size);
> +void board_fit_image_post_process(const void *fit, int node, void **p_image,
> +				  size_t *p_size);
>   
>   #define FDT_ERROR	((ulong)(-1))
>   
> 



More information about the U-Boot mailing list