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

Simon Glass sjg at chromium.org
Fri Jan 2 23:23:36 CET 2015


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 at 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)
-- 
2.2.0.rc0.207.ga3a616c



More information about the U-Boot mailing list