[U-Boot] [PATCH] WIP: Use hash.c in mkimage

This is for Ruchika only.
I think it would be good to adjust the function ordering so that there is only one '#ifdef USE_HOSTCC' in each of hash.c. This could be done by moving hash_lookup_algo() up near the top of the file, above store_result().
Signed-off-by: Simon Glass sjg@chromium.org ---
common/hash.c | 18 +++++++++++++++++- include/hash.h | 4 ++-- tools/Makefile | 1 + 3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/common/hash.c b/common/hash.c index c4d8c3a..95beb6b 100644 --- a/common/hash.c +++ b/common/hash.c @@ -10,16 +10,28 @@ * SPDX-License-Identifier: GPL-2.0+ */
+#ifndef USE_HOSTCC + #include <common.h> #include <command.h> #include <malloc.h> #include <hw_sha.h> -#include <hash.h> #include <u-boot/sha1.h> #include <u-boot/sha256.h> #include <asm/io.h> #include <asm/errno.h>
+#else + +#include "mkimage.h" +#include <u-boot/md5.h> +#include <time.h> +#include <image.h> +#endif /* !USE_HOSTCC*/ + +#include <hash.h> +#include <u-boot/crc.h> + #ifdef CONFIG_SHA1 static int hash_init_sha1(struct hash_algo *algo, void **ctxp) { @@ -173,6 +185,7 @@ static struct hash_algo hash_algo[] = { #define multi_hash() 0 #endif
+#ifndef USE_HOSTCC /** * store_result: Store the resulting sum to an address or variable * @@ -292,6 +305,7 @@ static int parse_verify_sum(struct hash_algo *algo, char *verify_str, } return 0; } +#endif /* !USE_HOSTCC */
int hash_lookup_algo(const char *algo_name, struct hash_algo **algop) { @@ -326,6 +340,7 @@ int hash_progressive_lookup_algo(const char *algo_name, return -EPROTONOSUPPORT; }
+#ifndef USE_HOSTCC void hash_show(struct hash_algo *algo, ulong addr, ulong len, uint8_t *output) { int i; @@ -439,3 +454,4 @@ int hash_command(const char *algo_name, int flags, cmd_tbl_t *cmdtp, int flag,
return 0; } +#endif /* !USE_HOSTCC */ diff --git a/include/hash.h b/include/hash.h index c0a7ebc..7a6a9aa 100644 --- a/include/hash.h +++ b/include/hash.h @@ -17,7 +17,6 @@ enum { HASH_FLAG_ENV = 1 << 1, /* Allow env vars */ };
-#ifndef USE_HOSTCC #if defined(CONFIG_SHA1SUM_VERIFY) || defined(CONFIG_CRC32_VERIFY) #define CONFIG_HASH_VERIFY #endif @@ -77,6 +76,7 @@ struct hash_algo { int size); };
+#ifndef USE_HOSTCC /** * hash_command: Process a hash command for a particular algorithm * @@ -91,6 +91,7 @@ struct hash_algo { */ int hash_command(const char *algo_name, int flags, cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); +#endif /* !USE_HOSTCC */
/** * hash_block() - Hash a block according to the requested algorithm @@ -155,5 +156,4 @@ int hash_progressive_lookup_algo(const char *algo_name, */ void hash_show(struct hash_algo *algo, ulong addr, ulong len, uint8_t *output); -#endif /* !USE_HOSTCC */ #endif diff --git a/tools/Makefile b/tools/Makefile index 46b90b2..ea76a3e 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -91,6 +91,7 @@ dumpimage-mkimage-objs := aisimage.o \ socfpgaimage.o \ lib/sha1.o \ lib/sha256.o \ + common/hash.o \ ublimage.o \ $(LIBFDT_OBJS) \ $(RSA_OBJS-y)
participants (1)
-
Simon Glass