[PATCH 2/5] add-print-decimal.patch

Andy Green andy at openmoko.com
Fri Aug 22 01:17:33 CEST 2008


Signed-off-by: Andy Green <andy at openmoko.com>
---

 include/qi.h |    1 +
 src/phase2.c |    7 ++++---
 src/utils.c  |   21 +++++++++++++++++++++
 3 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/include/qi.h b/include/qi.h
index 17fafe7..ea0382b 100644
--- a/include/qi.h
+++ b/include/qi.h
@@ -82,6 +82,7 @@ int puts(const char *string);
 void printhex(unsigned char v);
 void print8(unsigned char u);
 void print32(unsigned int u);
+void printdec(int n);
 void hexdump(unsigned char *start, int len);
 unsigned int _ntohl(unsigned int n);
 unsigned long crc32(unsigned long crc, const unsigned char *buf,
diff --git a/src/phase2.c b/src/phase2.c
index 826e90e..b2ad6a9 100644
--- a/src/phase2.c
+++ b/src/phase2.c
@@ -93,8 +93,9 @@ void bootloader_second_phase(void)
 
 			puts("        Found: ");
 			puts((const char *)hdr->ih_name);
-			puts("\n         Size: 0x");
-			print32(_ntohl(hdr->ih_size));
+			puts("\n         Size: ");
+			printdec(_ntohl(hdr->ih_size) >> 10);
+			puts(" KiB\n");
 
 			if (nand_read_ll(kernel_dram,
 				this_board->kernel_source[kernel].
@@ -107,7 +108,7 @@ void bootloader_second_phase(void)
 			}
 		}
 
-		puts("\n      Cmdline: ");
+		puts("      Cmdline: ");
 		puts(p);
 		puts("\n");
 
diff --git a/src/utils.c b/src/utils.c
index 5f183bc..11b1675 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -102,6 +102,27 @@ void hexdump(unsigned char *start, int len)
 	}
 }
 
+void printdec(int n)
+{
+	int d = 1 * 1000 * 1000 * 1000;
+	int flag = 0;
+
+	if (n < 0) {
+		this_board->putc('-');
+		n = -n;
+	}
+
+	while (d) {
+		int r = n / d;
+		if (r || flag || (d == 1)) {
+			this_board->putc('0' + r);
+			flag = 1;
+		}
+		n -= r * d;
+		d = d / 10;
+	}
+}
+
 /* original copyright notice for this crc code  (it is from U-Boot) --> */
 /*
  * This file is derived from crc32.c from the zlib-1.1.3 distribution




More information about the openmoko-kernel mailing list