[PATCH v4 09/10] rockchip: binman: Support use of crc32 for SPL_FIT_SIGNATURE

Kever Yang kever.yang at rock-chips.com
Sun Apr 6 17:34:06 CEST 2025


On 2025/3/29 23:06, Jonas Karlman wrote:
> Use of SHA256 checksum validation on ARMv7 SoCs can be very time
> consuming compared to ARMv8 SoCs with Crypto Extensions.
>
> Add support for use of the crc32 hash algo when SHA256 is not supported.
> Also use a HAS_HASH to simplify the ifdefs when no known hash algo is
> compiled.
>
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
> Changes in v4:
> - New patch
> ---
>   arch/arm/dts/rockchip-u-boot.dtsi | 30 ++++++++++++++++++++----------
>   1 file changed, 20 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm/dts/rockchip-u-boot.dtsi b/arch/arm/dts/rockchip-u-boot.dtsi
> index 65b81bf58626..0dfd45bb9bed 100644
> --- a/arch/arm/dts/rockchip-u-boot.dtsi
> +++ b/arch/arm/dts/rockchip-u-boot.dtsi
> @@ -19,10 +19,20 @@
>   #define COMP	"none"
>   #endif
>   
> +#if defined(CONFIG_SPL_SHA256)
> +#define HASH	"sha256"
> +#elif defined(CONFIG_SPL_CRC32)
> +#define HASH	"crc32"
> +#endif
> +
>   #if defined(CONFIG_SPL_FIT) && (defined(CONFIG_ARM64) || defined(CONFIG_SPL_OPTEE_IMAGE))
>   #define HAS_FIT
>   #endif
>   
> +#if defined(CONFIG_SPL_FIT_SIGNATURE) && defined(HASH)
> +#define HAS_HASH
> +#endif
> +
>   / {
>   	binman: binman {
>   		multiple-images;
> @@ -55,9 +65,9 @@
>   				u-boot-nodtb {
>   					compress = COMP;
>   				};
> -#ifdef CONFIG_SPL_FIT_SIGNATURE
> +#ifdef HAS_HASH
>   				hash {
> -					algo = "sha256";
> +					algo = HASH;
>   				};
>   #endif
>   			};
> @@ -76,9 +86,9 @@
>   
>   				atf-bl31 {
>   				};
> -#ifdef CONFIG_SPL_FIT_SIGNATURE
> +#ifdef HAS_HASH
>   				hash {
> -					algo = "sha256";
> +					algo = HASH;
>   				};
>   #endif
>   			};
> @@ -96,9 +106,9 @@
>   				tee-os {
>   					optional;
>   				};
> -#ifdef CONFIG_SPL_FIT_SIGNATURE
> +#ifdef HAS_HASH
>   				hash {
> -					algo = "sha256";
> +					algo = HASH;
>   				};
>   #endif
>   			};
> @@ -114,9 +124,9 @@
>   
>   				tee-os {
>   				};
> -#ifdef CONFIG_SPL_FIT_SIGNATURE
> +#ifdef HAS_HASH
>   				hash {
> -					algo = "sha256";
> +					algo = HASH;
>   				};
>   #endif
>   			};
> @@ -126,9 +136,9 @@
>   				description = "fdt-NAME";
>   				compression = "none";
>   				type = "flat_dt";
> -#ifdef CONFIG_SPL_FIT_SIGNATURE
> +#ifdef HAS_HASH
>   				hash {
> -					algo = "sha256";
> +					algo = HASH;
>   				};
>   #endif
>   			};


More information about the U-Boot mailing list