@ -34,6 +34,9 @@
# endif
# include <watchdog.h>
# include <u-boot/md5.h>
# include <sha1.h>
# ifdef CMD_MEM_DEBUG
# define PRINTF(fmt,args...) printf (fmt ,##args)
# else
@ -1141,6 +1144,55 @@ int do_mem_crc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
}
# endif /* CONFIG_CRC32_VERIFY */
# ifdef CONFIG_CMD_MD5SUM
int do_md5sum ( cmd_tbl_t * cmdtp , int flag , int argc , char * argv [ ] )
{
unsigned long addr , len ;
unsigned int i ;
u8 output [ 16 ] ;
if ( argc < 3 ) {
cmd_usage ( cmdtp ) ;
return 1 ;
}
addr = simple_strtoul ( argv [ 1 ] , NULL , 16 ) ;
len = simple_strtoul ( argv [ 2 ] , NULL , 16 ) ;
md5 ( ( unsigned char * ) addr , len , output ) ;
printf ( " md5 for %08lx ... %08lx ==> " , addr , addr + len - 1 ) ;
for ( i = 0 ; i < 16 ; i + + )
printf ( " %02x " , output [ i ] ) ;
printf ( " \n " ) ;
return 0 ;
}
# endif
# ifdef CONFIG_CMD_SHA1
int do_sha1sum ( cmd_tbl_t * cmdtp , int flag , int argc , char * argv [ ] )
{
unsigned long addr , len ;
unsigned int i ;
u8 output [ 20 ] ;
if ( argc < 3 ) {
cmd_usage ( cmdtp ) ;
return 1 ;
}
addr = simple_strtoul ( argv [ 1 ] , NULL , 16 ) ;
len = simple_strtoul ( argv [ 2 ] , NULL , 16 ) ;
sha1_csum ( ( unsigned char * ) addr , len , output ) ;
printf ( " SHA1 for %08lx ... %08lx ==> " , addr , addr + len - 1 ) ;
for ( i = 0 ; i < 20 ; i + + )
printf ( " %02x " , output [ i ] ) ;
printf ( " \n " ) ;
return 0 ;
}
# endif
# ifdef CONFIG_CMD_UNZIP
int gunzip ( void * , int , unsigned char * , unsigned long * ) ;
@ -1267,6 +1319,22 @@ U_BOOT_CMD(
) ;
# endif /* CONFIG_MX_CYCLIC */
# ifdef CONFIG_CMD_MD5SUM
U_BOOT_CMD (
md5sum , 3 , 1 , do_md5sum ,
" compute MD5 message digest " ,
" address count "
) ;
# endif
# ifdef CONFIG_CMD_SHA1SUM
U_BOOT_CMD (
sha1sum , 3 , 1 , do_sha1sum ,
" compute SHA1 message digest " ,
" address count "
) ;
# endif /* CONFIG_CMD_SHA1 */
# ifdef CONFIG_CMD_UNZIP
U_BOOT_CMD (
unzip , 4 , 1 , do_unzip ,