Change lmb to use phys_size_t/phys_addr_t

This updates the lmb code to use phys_size_t
and phys_addr_t instead of unsigned long.  Other code
which interacts with this code, like getenv_bootm_size()
is also updated.

Booted on MPC8641HPCN, build-tested ppc, arm, mips.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
diff --git a/common/image.c b/common/image.c
index 9188024..ddd9e8b 100644
--- a/common/image.c
+++ b/common/image.c
@@ -435,11 +435,16 @@
 #endif
 }
 
-ulong getenv_bootm_size(void)
+phys_size_t getenv_bootm_size(void)
 {
 	char *s = getenv ("bootm_size");
 	if (s) {
-		ulong tmp = simple_strtoul (s, NULL, 16);
+		phys_size_t tmp;
+#ifdef CFG_64BIT_STRTOUL
+		tmp = (phys_size_t)simple_strtoull (s, NULL, 16);
+#else
+		tmp = (phys_size_t)simple_strtoul (s, NULL, 16);
+#endif
 		return tmp;
 	}
 
@@ -1034,9 +1039,9 @@
 			lmb_reserve(lmb, rd_data, rd_len);
 		} else {
 			if (initrd_high)
-				*initrd_start = lmb_alloc_base (lmb, rd_len, 0x1000, initrd_high);
+				*initrd_start = (ulong)lmb_alloc_base (lmb, rd_len, 0x1000, initrd_high);
 			else
-				*initrd_start = lmb_alloc (lmb, rd_len, 0x1000);
+				*initrd_start = (ulong)lmb_alloc (lmb, rd_len, 0x1000);
 
 			if (*initrd_start == 0) {
 				puts ("ramdisk - allocation error\n");
@@ -1089,7 +1094,7 @@
 	char *cmdline;
 	char *s;
 
-	cmdline = (char *)lmb_alloc_base(lmb, CFG_BARGSIZE, 0xf,
+	cmdline = (char *)(ulong)lmb_alloc_base(lmb, CFG_BARGSIZE, 0xf,
 					 CFG_BOOTMAPSZ + bootmap_base);
 
 	if (cmdline == NULL)
@@ -1125,7 +1130,7 @@
  */
 int boot_get_kbd (struct lmb *lmb, bd_t **kbd, ulong bootmap_base)
 {
-	*kbd = (bd_t *)lmb_alloc_base(lmb, sizeof(bd_t), 0xf,
+	*kbd = (bd_t *)(ulong)lmb_alloc_base(lmb, sizeof(bd_t), 0xf,
 				      CFG_BOOTMAPSZ + bootmap_base);
 	if (*kbd == NULL)
 		return -1;