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

2017-08-14 Thread Sumit Garg
> -Original Message-
> From: Tom Rini [mailto:tr...@konsulko.com]
> Sent: Monday, August 14, 2017 8:04 PM
> To: Sumit Garg 
> Cc: u-boot@lists.denx.de; York Sun ; Ruchika Gupta
> ; Prabhakar Kushwaha
> ; s...@chromium.org
> Subject: Re: [PATCH] hash: Compile-off SHA SW lib in case SHA HW lib is
> present
> 
> On Mon, Aug 14, 2017 at 05:09:46PM +0530, Sumit Garg wrote:
> 
> > 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 
> > ---
> >  common/hash.c | 5 -
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> Good find.  Looking at the code I think this can be done a bit differently to 
> clean
> up the code as well, which was the first thing I was wondering about when
> looking this over.  I'll have a v2 of this hopefully later today (testing in 
> travis
> now).  Thanks!
> 
> --
> Tom
 
Thanks Tom for your comments.

Sumit
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-08-14 Thread Tom Rini
On Mon, Aug 14, 2017 at 05:09:46PM +0530, Sumit Garg wrote:

> 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 
> ---
>  common/hash.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)

Good find.  Looking at the code I think this can be done a bit
differently to clean up the code as well, which was the first thing I
was wondering about when looking this over.  I'll have a v2 of this
hopefully later today (testing in travis now).  Thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


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

2017-08-14 Thread Sumit Garg
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 
---
 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 
 #include 
 
+#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

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot