[U-Boot] [PATCH] hash: Compile-off SHA SW lib in case SHA HW lib is present

Sumit Garg sumit.garg at nxp.com
Mon Aug 14 11:39:46 UTC 2017


Commit 089df18bfe9d ("lib: move hash CONFIG options to Kconfig")
moved CONFIG_SHA1, CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and
CONFIG_SHA_PROG_HW_ACCEL config options to Kconfig. So in case of
SPL, CONFIG_SPL_HASH_SUPPORT enables CONFIG_SHA1 and CONFIG_SHA256
which enables SHA SW library by default. But in case of platforms with
SHA HW library support, SHA SW library becomes redundant and increases
size of SPL by approx 18K. So to take care of this SHA SW library is
compiled-off in case SHA HW acceleration is present.

Signed-off-by: Sumit Garg <sumit.garg at nxp.com>
---
 common/hash.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/common/hash.c b/common/hash.c
index 771d8fa..3f75c77 100644
--- a/common/hash.c
+++ b/common/hash.c
@@ -30,6 +30,7 @@
 #include <u-boot/sha256.h>
 #include <u-boot/md5.h>
 
+#ifndef CONFIG_SHA_HW_ACCEL
 #ifdef CONFIG_SHA1
 static int hash_init_sha1(struct hash_algo *algo, void **ctxp)
 {
@@ -85,6 +86,7 @@ static int hash_finish_sha256(struct hash_algo *algo, void *ctx, void
 	return 0;
 }
 #endif
+#endif
 
 static int hash_init_crc32(struct hash_algo *algo, void **ctxp)
 {
@@ -144,7 +146,7 @@ static struct hash_algo hash_algo[] = {
 		hw_sha_finish,
 #endif
 	},
-#endif
+#else
 #ifdef CONFIG_SHA1
 	{
 		"sha1",
@@ -167,6 +169,7 @@ static struct hash_algo hash_algo[] = {
 		hash_finish_sha256,
 	},
 #endif
+#endif
 	{
 		"crc32",
 		4,
-- 
2.7.4



More information about the U-Boot mailing list