[U-Boot] [PATCH v2 3/8] fit: add sha256 support

Heiko Schocher hs at denx.de
Mon Feb 17 07:33:30 CET 2014


Hello Simon,

Am 15.02.2014 23:47, schrieb Simon Glass:
> Hi Heiko,
>
> On 8 February 2014 22:34, Heiko Schocher<hs at denx.de>  wrote:
>> add sha256 support to fit images
>>
>> Signed-off-by: Heiko Schocher<hs at denx.de>
>> Acked-by: Simon Glass<sjg at chromium.org>
>
> Sorry I spotted a few things since.

No problem! Thanks for your review.

>> ---
>> changes for v2:
>> - add Acked-by from Simon Glass
>>
>>   common/image-fit.c | 5 +++++
>>   include/image.h    | 9 +++++++++
>>   lib/sha256.c       | 2 +-
>>   tools/Makefile     | 3 +++
>>   4 files changed, 18 insertions(+), 1 deletion(-)
>>
[...]
>> diff --git a/include/image.h b/include/image.h
>> index 7de2bb2..f001a5f 100644
>> --- a/include/image.h
>> +++ b/include/image.h
>> @@ -57,13 +57,18 @@ struct lmb;
>>   #  ifdef CONFIG_SPL_SHA1_SUPPORT
>>   #   define IMAGE_ENABLE_SHA1   1
>>   #  endif
>> +#  ifdef CONFIG_SPL_SHA256_SUPPORT
>> +#   define IMAGE_ENABLE_SHA256 1
>> +#  endif
>>   # else
>>   #  define CONFIG_CRC32         /* FIT images need CRC32 support */
>>   #  define CONFIG_MD5           /* and MD5 */
>>   #  define CONFIG_SHA1          /* and SHA1 */
>> +#  define CONFIG_SHA256                /* and SHA256 */
>
> Thinking about this again, I wonder if we want to force SHA256 to be
> enabled when FIT is used? Should we just hold the existing
> CONFIG_SHA256 setting in the board file and change:

I can do this, but why are the others fix?

>>   #  define IMAGE_ENABLE_CRC32   1
>>   #  define IMAGE_ENABLE_MD5     1
>>   #  define IMAGE_ENABLE_SHA1    1
>> +#  define IMAGE_ENABLE_SHA256  1
>
> this to:
>
> #ifdef CONFIG_SHA256
>   +#  define IMAGE_ENABLE_SHA256  0
> #endif
>
> ?

Ok, changed, into:

#ifdef CONFIG_SHA256
   #  define IMAGE_ENABLE_SHA256  1
#endif

>>   # endif
>>
>>   #ifndef IMAGE_ENABLE_CRC32
>> @@ -78,6 +83,10 @@ struct lmb;
>>   #define IMAGE_ENABLE_SHA1      0
>>   #endif
>>
>> +#ifndef IMAGE_ENABLE_SHA256
>> +#define IMAGE_ENABLE_SHA256    0
>> +#endif
>> +
>>   #endif /* CONFIG_FIT */
>>
>>   #ifdef CONFIG_SYS_BOOT_RAMDISK_HIGH
>> diff --git a/lib/sha256.c b/lib/sha256.c
>> index 7348162..5766de2 100644
>> --- a/lib/sha256.c
>> +++ b/lib/sha256.c
>> @@ -258,7 +258,7 @@ void sha256_csum_wd(const unsigned char *input, unsigned int ilen,
>>   {
>>          sha256_context ctx;
>>   #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
>> -       unsigned char *end, *curr;
>> +       const unsigned char *end, *curr;
>
> Why remove the const here?

I add const here ... I remve the "const" for the "curr" pointer.

>>          int chunk;
>>   #endif
>>
>> diff --git a/tools/Makefile b/tools/Makefile
>> index 328cea3..5e36e5e 100644
>> --- a/tools/Makefile
>> +++ b/tools/Makefile
>> @@ -71,6 +71,7 @@ EXT_OBJ_FILES-y += common/image-sig.o
>>   EXT_OBJ_FILES-y += lib/crc32.o
>>   EXT_OBJ_FILES-y += lib/md5.o
>>   EXT_OBJ_FILES-y += lib/sha1.o
>> +EXT_OBJ_FILES-y += lib/sha256.o
>>
>>   # Source files located in the tools directory
>>   NOPED_OBJ_FILES-y += aisimage.o
>> @@ -223,6 +224,7 @@ $(obj)dumpimage$(SFX):      $(obj)aisimage.o \
>>                          $(obj)os_support.o \
>>                          $(obj)pblimage.o \
>>                          $(obj)sha1.o \
>> +                       $(obj)sha256.o \
>>                          $(obj)ublimage.o \
>>                          $(LIBFDT_OBJS) \
>>                          $(RSA_OBJS)
>> @@ -252,6 +254,7 @@ $(obj)mkimage$(SFX):        $(obj)aisimage.o \
>>                          $(obj)os_support.o \
>>                          $(obj)pblimage.o \
>>                          $(obj)sha1.o \
>> +                       $(obj)sha256.o \
>>                          $(obj)ublimage.o \
>>                          $(LIBFDT_OBJS) \
>>                          $(RSA_OBJS)
>> --
>> 1.8.3.1
>>
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>
> Regards,
> Simon
>
>

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list