Roll crc32 into hash infrastructure
authorSimon Glass <sjg@chromium.org>
Sun, 24 Feb 2013 20:30:22 +0000 (20:30 +0000)
committerSimon Glass <sjg@chromium.org>
Fri, 1 Mar 2013 03:09:23 +0000 (19:09 -0800)
commitd20a40de9db07de1f1f06a79a4da1cdda5379b75
tree6d1952a17439f0ffa0fb09882f7a3df2a0e917e1
parentd5b76673a5dfe0b5250baea3c36cdfa7a9fd5230
Roll crc32 into hash infrastructure

Add the CRC32 algorithm to the list of available hashes, and make
the crc32 command use hash_command(). Add a new crc32_wd_buf() to
make this possible, which puts its result in a buffer rather than
returning it as a 32-bit value.

Note: For some boards the hash command is not enabled, neither
are sha1, sha256 or the verify option. In this case the full
hash implementation adds about 500 bytes of overhead. So as a
special case, we use #ifdef to select very simple bahaviour in
that case. The justification for this is that it is currently
a very common case (virtually all boards enable crc32 but only
some enable more advanced features).

Signed-off-by: Simon Glass <sjg@chromium.org>
common/cmd_mem.c
common/hash.c
include/hash.h
include/u-boot/crc.h
lib/crc32.c