mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 02:11:25 +01:00 
			
		
		
		
	Consolidate arch-specific mem_malloc_init() implementations
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
This commit is contained in:
		
							parent
							
								
									832f4377d6
								
							
						
					
					
						commit
						bdb2802f4a
					
				@ -1520,6 +1520,21 @@ void *sbrk(ptrdiff_t increment)
 | 
				
			|||||||
	return (void *)old;
 | 
						return (void *)old;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef CONFIG_X86
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * x86 boards use a slightly different init sequence thus they implement
 | 
				
			||||||
 | 
					 * their own version of mem_malloc_init()
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void mem_malloc_init(ulong start, ulong size)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						mem_malloc_start = start;
 | 
				
			||||||
 | 
						mem_malloc_end = start + size;
 | 
				
			||||||
 | 
						mem_malloc_brk = start;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						memset((void *)mem_malloc_start, 0, size);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* field-extraction macros */
 | 
					/* field-extraction macros */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define first(b) ((b)->fd)
 | 
					#define first(b) ((b)->fd)
 | 
				
			||||||
 | 
				
			|||||||
@ -944,6 +944,8 @@ extern ulong mem_malloc_start;
 | 
				
			|||||||
extern ulong mem_malloc_end;
 | 
					extern ulong mem_malloc_end;
 | 
				
			||||||
extern ulong mem_malloc_brk;
 | 
					extern ulong mem_malloc_brk;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void mem_malloc_init(ulong start, ulong size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef __cplusplus
 | 
					#ifdef __cplusplus
 | 
				
			||||||
};  /* end of extern "C" */
 | 
					};  /* end of extern "C" */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -82,16 +82,6 @@ extern void rtl8019_get_enetaddr (uchar * addr);
 | 
				
			|||||||
#include <i2c.h>
 | 
					#include <i2c.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static
 | 
					 | 
				
			||||||
void mem_malloc_init (ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/************************************************************************
 | 
					/************************************************************************
 | 
				
			||||||
 * Coloured LED functionality
 | 
					 * Coloured LED functionality
 | 
				
			||||||
 | 
				
			|||||||
@ -49,19 +49,6 @@ static int __do_nothing(void)
 | 
				
			|||||||
int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
 | 
					int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
 | 
				
			||||||
int board_early_init_r(void) __attribute__((weak, alias("__do_nothing")));
 | 
					int board_early_init_r(void) __attribute__((weak, alias("__do_nothing")));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* The malloc area is right below the monitor image in RAM */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	printf("malloc: Using memory from 0x%08lx to 0x%08lx\n",
 | 
					 | 
				
			||||||
	       mem_malloc_start, mem_malloc_end);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef CONFIG_SYS_DMA_ALLOC_LEN
 | 
					#ifdef CONFIG_SYS_DMA_ALLOC_LEN
 | 
				
			||||||
#include <asm/arch/cacheflush.h>
 | 
					#include <asm/arch/cacheflush.h>
 | 
				
			||||||
#include <asm/io.h>
 | 
					#include <asm/io.h>
 | 
				
			||||||
@ -308,6 +295,8 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	timer_init();
 | 
						timer_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* The malloc area is right below the monitor image in RAM */
 | 
				
			||||||
	mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
						mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
				
			||||||
			CONFIG_SYS_MALLOC_LEN, CONFIG_SYS_MALLOC_LEN);
 | 
								CONFIG_SYS_MALLOC_LEN, CONFIG_SYS_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc();
 | 
						malloc_bin_reloc();
 | 
				
			||||||
 | 
				
			|||||||
@ -44,15 +44,6 @@ static inline void serial_early_puts(const char *s)
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset((void*)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int display_banner(void)
 | 
					static int display_banner(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	printf("\n\n%s\n\n", version_string);
 | 
						printf("\n\n%s\n\n", version_string);
 | 
				
			||||||
 | 
				
			|||||||
@ -106,18 +106,6 @@ ulong monitor_flash_len;
 | 
				
			|||||||
 ************************************************************************
 | 
					 ************************************************************************
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in DRAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * All attempts to come up with a "common" initialization sequence
 | 
					 * All attempts to come up with a "common" initialization sequence
 | 
				
			||||||
 * that works for all boards and architectures failed: some of the
 | 
					 * that works for all boards and architectures failed: some of the
 | 
				
			||||||
@ -494,7 +482,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	trap_init (CONFIG_SYS_SDRAM_BASE);
 | 
						trap_init (CONFIG_SYS_SDRAM_BASE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* initialize malloc() area */
 | 
						/* The Malloc area is immediately below the monitor copy in DRAM */
 | 
				
			||||||
	mem_malloc_init (CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
						mem_malloc_init (CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
				
			||||||
			TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
 | 
								TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc ();
 | 
						malloc_bin_reloc ();
 | 
				
			||||||
 | 
				
			|||||||
@ -46,20 +46,6 @@ extern int eth_init (bd_t * bis);
 | 
				
			|||||||
extern int getenv_IPaddr (char *);
 | 
					extern int getenv_IPaddr (char *);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in DRAM
 | 
					 | 
				
			||||||
 * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off
 | 
					 | 
				
			||||||
 * as our monitory code is run from SDRAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * All attempts to come up with a "common" initialization sequence
 | 
					 * All attempts to come up with a "common" initialization sequence
 | 
				
			||||||
 * that works for all boards and architectures failed: some of the
 | 
					 * that works for all boards and architectures failed: some of the
 | 
				
			||||||
@ -104,7 +90,11 @@ void board_init (void)
 | 
				
			|||||||
	bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
 | 
						bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE;
 | 
				
			||||||
	gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
 | 
						gd->flags |= GD_FLG_RELOC;      /* tell others: relocation done */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Initialise malloc() area */
 | 
						/*
 | 
				
			||||||
 | 
						 * The Malloc area is immediately below the monitor copy in DRAM
 | 
				
			||||||
 | 
						 * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off
 | 
				
			||||||
 | 
						 * as our monitory code is run from SDRAM
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
	mem_malloc_init (CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
						mem_malloc_init (CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
 | 
						for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
 | 
				
			||||||
 | 
				
			|||||||
@ -74,18 +74,6 @@ int __board_early_init_f(void)
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
int board_early_init_f(void) __attribute__((weak, alias("__board_early_init_f")));
 | 
					int board_early_init_f(void) __attribute__((weak, alias("__board_early_init_f")));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in DRAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int init_func_ram (void)
 | 
					static int init_func_ram (void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -347,7 +335,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	bd = gd->bd;
 | 
						bd = gd->bd;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* initialize malloc() area */
 | 
						/* The Malloc area is immediately below the monitor copy in DRAM */
 | 
				
			||||||
	mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
						mem_malloc_init(CONFIG_SYS_MONITOR_BASE + gd->reloc_off -
 | 
				
			||||||
			TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
 | 
								TOTAL_MALLOC_LEN, TOTAL_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc();
 | 
						malloc_bin_reloc();
 | 
				
			||||||
 | 
				
			|||||||
@ -52,18 +52,6 @@ DECLARE_GLOBAL_DATA_PTR;
 | 
				
			|||||||
extern void malloc_bin_reloc (void);
 | 
					extern void malloc_bin_reloc (void);
 | 
				
			||||||
typedef int (init_fnc_t) (void);
 | 
					typedef int (init_fnc_t) (void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in RAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/************************************************************************
 | 
					/************************************************************************
 | 
				
			||||||
 * Initialization sequence						*
 | 
					 * Initialization sequence						*
 | 
				
			||||||
@ -124,6 +112,8 @@ void board_init (void)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	WATCHDOG_RESET ();
 | 
						WATCHDOG_RESET ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* The Malloc area is immediately below the monitor copy in RAM */
 | 
				
			||||||
	mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
						mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc();
 | 
						malloc_bin_reloc();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -55,18 +55,6 @@ DECLARE_GLOBAL_DATA_PTR;
 | 
				
			|||||||
extern void malloc_bin_reloc (void);
 | 
					extern void malloc_bin_reloc (void);
 | 
				
			||||||
typedef int (init_fnc_t) (void);
 | 
					typedef int (init_fnc_t) (void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in RAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init (void)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/************************************************************************
 | 
					/************************************************************************
 | 
				
			||||||
 * Initialization sequence						*
 | 
					 * Initialization sequence						*
 | 
				
			||||||
@ -130,6 +118,8 @@ void board_init (void)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	WATCHDOG_RESET ();
 | 
						WATCHDOG_RESET ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* The Malloc area is immediately below the monitor copy in RAM */
 | 
				
			||||||
	mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
						mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc();
 | 
						malloc_bin_reloc();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -141,18 +141,6 @@ ulong monitor_flash_len;
 | 
				
			|||||||
 ************************************************************************
 | 
					 ************************************************************************
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in DRAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset ((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * All attempts to come up with a "common" initialization sequence
 | 
					 * All attempts to come up with a "common" initialization sequence
 | 
				
			||||||
 * that works for all boards and architectures failed: some of the
 | 
					 * that works for all boards and architectures failed: some of the
 | 
				
			||||||
@ -657,6 +645,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	gd->flags |= GD_FLG_RELOC;	/* tell others: relocation done */
 | 
						gd->flags |= GD_FLG_RELOC;	/* tell others: relocation done */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* The Malloc area is immediately below the monitor copy in DRAM */
 | 
				
			||||||
#if defined(CONFIG_RELOC_FIXUP_WORKS)
 | 
					#if defined(CONFIG_RELOC_FIXUP_WORKS)
 | 
				
			||||||
	gd->reloc_off = 0;
 | 
						gd->reloc_off = 0;
 | 
				
			||||||
	malloc_start = dest_addr - TOTAL_MALLOC_LEN;
 | 
						malloc_start = dest_addr - TOTAL_MALLOC_LEN;
 | 
				
			||||||
@ -758,7 +747,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	asm ("sync ; isync");
 | 
						asm ("sync ; isync");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* initialize malloc() area */
 | 
					 | 
				
			||||||
	mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);
 | 
						mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);
 | 
				
			||||||
	malloc_bin_reloc ();
 | 
						malloc_bin_reloc ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -38,15 +38,6 @@ const char version_string[] = U_BOOT_VERSION" ("U_BOOT_DATE" - "U_BOOT_TIME")";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
 | 
					unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static int sh_flash_init(void)
 | 
					static int sh_flash_init(void)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	DECLARE_GLOBAL_DATA_PTR;
 | 
						DECLARE_GLOBAL_DATA_PTR;
 | 
				
			||||||
 | 
				
			|||||||
@ -74,25 +74,6 @@ static char *failed = "*** failed ***\n";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ulong monitor_flash_len;
 | 
					ulong monitor_flash_len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/************************************************************************
 | 
					 | 
				
			||||||
 * Utilities								*
 | 
					 | 
				
			||||||
 ************************************************************************
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
 * The Malloc area is immediately below the monitor copy in RAM
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
static void mem_malloc_init(ulong start, ulong size)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	mem_malloc_start = start;
 | 
					 | 
				
			||||||
	mem_malloc_end = start + size;
 | 
					 | 
				
			||||||
	mem_malloc_brk = start
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	memset((void *)mem_malloc_start, 0, size);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/***********************************************************************/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/************************************************************************
 | 
					/************************************************************************
 | 
				
			||||||
 * Init Utilities							*
 | 
					 * Init Utilities							*
 | 
				
			||||||
 ************************************************************************
 | 
					 ************************************************************************
 | 
				
			||||||
@ -313,7 +294,7 @@ void board_init_f(ulong bootflag)
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	interrupt_init();
 | 
						interrupt_init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* initialize malloc() area */
 | 
						/* The Malloc area is immediately below the monitor copy in RAM */
 | 
				
			||||||
	mem_malloc_init(CONFIG_SYS_MALLOC_BASE,
 | 
						mem_malloc_init(CONFIG_SYS_MALLOC_BASE,
 | 
				
			||||||
			CONFIG_SYS_MALLOC_END - CONFIG_SYS_MALLOC_BASE);
 | 
								CONFIG_SYS_MALLOC_END - CONFIG_SYS_MALLOC_BASE);
 | 
				
			||||||
	malloc_bin_reloc();
 | 
						malloc_bin_reloc();
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user