hash: Use Kconfig to enable hashing in host tools and SPL

At present when building host tools, we force CONFIG_SHAxxx to be enabled
regardless of the board Kconfig setting. This is done in the image.h
header file.

For SPL we currently just assume the algorithm is desired if U-Boot proper
enables it.

Clean this up by adding new Kconfig options to enable hashing on the host,
relying on CONFIG_IS_ENABLED() to deal with the different builds.

Add new SPL Kconfigs for hardware-accelerated hashing, to maintain the
current settings.

This allows us to drop the image.h code and the I_WANT_MD5 hack.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
This commit is contained in:
Simon Glass
2021-09-25 19:43:18 -06:00
committed by Tom Rini
parent 603d15a572
commit 2c21256b27
6 changed files with 72 additions and 33 deletions

View File

@@ -438,6 +438,24 @@ config SPL_SHA384
The SHA384 algorithm produces a 384-bit (48-byte) hash value
(digest).
config SPL_SHA_HW_ACCEL
bool "Enable hardware acceleration for SHA hash functions"
default y if SHA_HW_ACCEL
help
This option enables hardware acceleration for the SHA1 and SHA256
hashing algorithms. This affects the 'hash' command and also the
hash_lookup_algo() function.
config SPL_SHA_PROG_HW_ACCEL
bool "Enable Progressive hashing support using hardware in SPL"
depends on SHA_PROG_HW_ACCEL
default y
help
This option enables hardware-acceleration for SHA progressive
hashing.
Data can be streamed in a block at a time and the hashing is
performed in hardware.
endif
if SHA_HW_ACCEL