On Monday, March 31, 2014 at 11:24:31 AM, Lukasz Majewski wrote: > Hi Marek, > > > On Monday, March 31, 2014 at 10:48:49 AM, Lukasz Majewski wrote: > > > Up till now the CRC32 of received data was calculated > > > unconditionally. The standard crc32 implementation causes long > > > delays when large images were uploaded. > > > > You might want to check common/cmd_hash.c and include/hash.h for the > > hash_command() call. It does the resolution of the hash algorithm > > from it's name and you can operate also SHA1 and SHA256 with it. It > > would be nice if you could just extend it a bit and use that instead > > of adding another ad-hoc mechanism. > > > > Do you think it'd be possible to reuse it please ? > > I think, that crc32 shall be calculated when needed. That is why I've > added a dfu_ckecksum_method variable. > > With its help it is now possible to use different algorithms for > checking - not only crc32 (which in u-boot is the default and painfully > slow implementation). > > In the future the code: > if (dfu_checksum_method == DFU_CRC32) > crc32 calculation; > > will be changed to: > > switch (dfu_checksum_method) { > case CRC32: > crc32 calculation; > break; > case SHA1: > sha1 calculation; > break; > case MD5: > md5 calculation; > break; > } > > Moreover it is possible to dynamically change the checksum method > (between invoking dfu command) via adjusting "dfu_checksum_method" > variable. > > The default approach is to not calculate anything.
I get it, but the direct calling of crc32() function can be abstracted already with the hash_command() now. You won't need to the above switch in such case. Also, you can implement a NULL hash algo, which would effectivelly model the case where you want to disable hashing. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot