
The early malloc region is normally quite small and is certainly less than 4GB, so use a 32-bit value for the limit and pointer. Update the comment for clarity while we are here.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/arm/lib/bdinfo.c | 2 +- common/board_r.c | 2 +- common/malloc_simple.c | 7 ++++--- common/spl/spl.c | 4 ++-- include/asm-generic/global_data.h | 6 +++--- 5 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/arch/arm/lib/bdinfo.c b/arch/arm/lib/bdinfo.c index 7c49462c8eb..c7fff01c435 100644 --- a/arch/arm/lib/bdinfo.c +++ b/arch/arm/lib/bdinfo.c @@ -58,7 +58,7 @@ void arch_print_bdinfo(void) printf("Board Type = %ld\n", gd->board_type); #endif #if CONFIG_IS_ENABLED(SYS_MALLOC_F) - printf("Early malloc usage: %lx / %x\n", gd->malloc_ptr, + printf("Early malloc usage: %x / %x\n", gd->malloc_ptr, CONFIG_VAL(SYS_MALLOC_F_LEN)); #endif } diff --git a/common/board_r.c b/common/board_r.c index d4ba245ac69..460b012306e 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -192,7 +192,7 @@ static int initr_malloc(void) ulong start;
#if CONFIG_IS_ENABLED(SYS_MALLOC_F) - debug("Pre-reloc malloc() used %#lx bytes (%ld KB)\n", gd->malloc_ptr, + debug("Pre-reloc malloc() used %#x bytes (%d KB)\n", gd->malloc_ptr, gd->malloc_ptr / 1024); #endif /* The malloc area is immediately below the monitor copy in DRAM */ diff --git a/common/malloc_simple.c b/common/malloc_simple.c index 4e6d7952b3c..c24e70c95c2 100644 --- a/common/malloc_simple.c +++ b/common/malloc_simple.c @@ -18,12 +18,13 @@ DECLARE_GLOBAL_DATA_PTR;
static void *alloc_simple(size_t bytes, int align) { - ulong addr, new_ptr; + ulong addr; + uint new_ptr; void *ptr;
addr = ALIGN(gd->malloc_base + gd->malloc_ptr, align); new_ptr = addr + bytes - gd->malloc_base; - log_debug("size=%lx, ptr=%lx, limit=%lx: ", (ulong)bytes, new_ptr, + log_debug("size=%lx, ptr=%x, limit=%x: ", (ulong)bytes, new_ptr, gd->malloc_limit); if (new_ptr > gd->malloc_limit) { log_err("alloc space exhausted\n"); @@ -87,6 +88,6 @@ void free_simple(void *ptr)
void malloc_simple_info(void) { - log_info("malloc_simple: %lx bytes used, %lx remain\n", gd->malloc_ptr, + log_info("malloc_simple: %x bytes used, %x remain\n", gd->malloc_ptr, CONFIG_VAL(SYS_MALLOC_F_LEN) - gd->malloc_ptr); } diff --git a/common/spl/spl.c b/common/spl/spl.c index de34fb06548..5c966a88b8e 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -784,7 +784,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2) } if (CONFIG_IS_ENABLED(SYS_MALLOC_F) && !IS_ENABLED(CONFIG_SPL_SYS_MALLOC_SIZE)) - debug("SPL malloc() used 0x%lx bytes (%ld KB)\n", + debug("SPL malloc() used 0x%x bytes (%d KB)\n", gd_malloc_ptr(), gd_malloc_ptr() / 1024);
bootstage_mark_name(get_bootstage_id(false), "end phase"); @@ -895,7 +895,7 @@ ulong spl_relocate_stack_gd(void)
#if defined(CONFIG_SPL_SYS_MALLOC_SIMPLE) && CONFIG_IS_ENABLED(SYS_MALLOC_F) if (CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN) { - debug("SPL malloc() before relocation used 0x%lx bytes (%ld KB)\n", + debug("SPL malloc() before relocation used 0x%x bytes (%d KB)\n", gd->malloc_ptr, gd->malloc_ptr / 1024); ptr -= CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN; gd->malloc_base = ptr; diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 6ec80a2ccdf..21d4ddea12d 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -298,13 +298,13 @@ struct global_data { */ unsigned long malloc_base; /** - * @malloc_limit: limit address of early malloc() + * @malloc_limit: maximum size of early malloc() */ - unsigned long malloc_limit; + unsigned int malloc_limit; /** * @malloc_ptr: current address of early malloc() */ - unsigned long malloc_ptr; + unsigned int malloc_ptr; #endif #ifdef CONFIG_CONSOLE_RECORD /**