diff options
| -rw-r--r-- | common/dlmalloc.c | 18 | ||||
| -rw-r--r-- | include/malloc.h | 6 | ||||
| -rw-r--r-- | lib_arm/board.c | 20 | ||||
| -rw-r--r-- | lib_avr32/board.c | 19 | ||||
| -rw-r--r-- | lib_blackfin/board.c | 20 | ||||
| -rw-r--r-- | lib_i386/board.c | 21 | ||||
| -rw-r--r-- | lib_m68k/board.c | 20 | ||||
| -rw-r--r-- | lib_microblaze/board.c | 19 | ||||
| -rw-r--r-- | lib_mips/board.c | 19 | ||||
| -rw-r--r-- | lib_nios/board.c | 20 | ||||
| -rw-r--r-- | lib_nios2/board.c | 20 | ||||
| -rw-r--r-- | lib_ppc/board.c | 19 | ||||
| -rw-r--r-- | lib_sh/board.c | 18 | ||||
| -rw-r--r-- | lib_sparc/board.c | 19 | 
14 files changed, 28 insertions, 230 deletions
| diff --git a/common/dlmalloc.c b/common/dlmalloc.c index 4a185620f..f3bced463 100644 --- a/common/dlmalloc.c +++ b/common/dlmalloc.c @@ -1502,7 +1502,23 @@ void malloc_bin_reloc (void)  		*p++ += gd->reloc_off;  	}  } - + +ulong mem_malloc_start = 0; +ulong mem_malloc_end = 0; +ulong mem_malloc_brk = 0; + +void *sbrk(ptrdiff_t increment) +{ +	ulong old = mem_malloc_brk; +	ulong new = old + increment; + +	if ((new < mem_malloc_start) || (new > mem_malloc_end)) +		return NULL; + +	mem_malloc_brk = new; + +	return (void *)old; +}  /* field-extraction macros */ diff --git a/include/malloc.h b/include/malloc.h index a38464e62..0382169b6 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -937,6 +937,12 @@ int     mALLOPt();  struct mallinfo mALLINFo();  #endif +/* + * Begin and End of memory area for malloc(), and current "brk" + */ +extern ulong mem_malloc_start; +extern ulong mem_malloc_end; +extern ulong mem_malloc_brk;  #ifdef __cplusplus  };  /* end of extern "C" */ diff --git a/lib_arm/board.c b/lib_arm/board.c index fa87d5137..62b787443 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -82,13 +82,6 @@ extern void rtl8019_get_enetaddr (uchar * addr);  #include <i2c.h>  #endif -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start = 0; -static ulong mem_malloc_end = 0; -static ulong mem_malloc_brk = 0; -  static  void mem_malloc_init (ulong dest_addr)  { @@ -100,19 +93,6 @@ void mem_malloc_init (ulong dest_addr)  			mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; - -	return ((void *) old); -} -  /************************************************************************   * Coloured LED functionality diff --git a/lib_avr32/board.c b/lib_avr32/board.c index e2b0a2e1a..03a520cdd 100644 --- a/lib_avr32/board.c +++ b/lib_avr32/board.c @@ -41,13 +41,6 @@ const char version_string[] =  unsigned long monitor_flash_len; -/* - * Begin and end of memory area for malloc(), and current "brk" - */ -static unsigned long mem_malloc_start = 0; -static unsigned long mem_malloc_end = 0; -static unsigned long mem_malloc_brk = 0; -  /* Weak aliases for optional board functions */  static int __do_nothing(void)  { @@ -73,18 +66,6 @@ static void mem_malloc_init(void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk(ptrdiff_t increment) -{ -	unsigned long old = mem_malloc_brk; -	unsigned long new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) -		return NULL; - -	mem_malloc_brk = new; -	return ((void *)old); -} -  #ifdef CONFIG_SYS_DMA_ALLOC_LEN  #include <asm/arch/cacheflush.h>  #include <asm/io.h> diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c index 5b9efde7a..9c405ba4b 100644 --- a/lib_blackfin/board.c +++ b/lib_blackfin/board.c @@ -44,27 +44,13 @@ static inline void serial_early_puts(const char *s)  #endif  } -static void *mem_malloc_start, *mem_malloc_end, *mem_malloc_brk; -  static void mem_malloc_init(void)  { -	mem_malloc_start = (void *)CONFIG_SYS_MALLOC_BASE; -	mem_malloc_end = (void *)(CONFIG_SYS_MALLOC_BASE + CONFIG_SYS_MALLOC_LEN); +	mem_malloc_start = (ulong)CONFIG_SYS_MALLOC_BASE; +	mem_malloc_end = (ulong)(CONFIG_SYS_MALLOC_BASE + CONFIG_SYS_MALLOC_LEN);  	mem_malloc_brk = mem_malloc_start; -	memset(mem_malloc_start, 0, mem_malloc_end - mem_malloc_start); -} - -void *sbrk(ptrdiff_t increment) -{ -	void *old = mem_malloc_brk; -	void *new = old + increment; - -	if (new < mem_malloc_start || new > mem_malloc_end) -		return NULL; - -	mem_malloc_brk = new; -	return old; +	memset((void*)mem_malloc_start, 0, mem_malloc_end - mem_malloc_start);  }  static int display_banner(void) diff --git a/lib_i386/board.c b/lib_i386/board.c index 54ef6e75a..0262b5e2c 100644 --- a/lib_i386/board.c +++ b/lib_i386/board.c @@ -73,14 +73,6 @@ ulong i386boot_bios_size     = (ulong)&_i386boot_bios_size;     /* size of BIOS  const char version_string[] =  	U_BOOT_VERSION" (" U_BOOT_DATE " - " U_BOOT_TIME ")"; - -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start = 0; -static ulong mem_malloc_end = 0; -static ulong mem_malloc_brk = 0; -  static int mem_malloc_init(void)  {  	/* start malloc area right after the stack */ @@ -96,19 +88,6 @@ static int mem_malloc_init(void)  	return 0;  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; - -	return ((void *) old); -} -  /************************************************************************   * Init Utilities							*   ************************************************************************ diff --git a/lib_m68k/board.c b/lib_m68k/board.c index 483c9b6df..4392bccdb 100644 --- a/lib_m68k/board.c +++ b/lib_m68k/board.c @@ -101,13 +101,6 @@ extern int watchdog_disable(void);  ulong monitor_flash_len; -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static	ulong	mem_malloc_start = 0; -static	ulong	mem_malloc_end	 = 0; -static	ulong	mem_malloc_brk	 = 0; -  /************************************************************************   * Utilities								*   ************************************************************************ @@ -129,19 +122,6 @@ static void mem_malloc_init (void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || -	    (new > mem_malloc_end) ) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *)old); -} -  /*   * All attempts to come up with a "common" initialization sequence   * that works for all boards and architectures failed: some of the diff --git a/lib_microblaze/board.c b/lib_microblaze/board.c index cfed5fefc..fc25a7530 100644 --- a/lib_microblaze/board.c +++ b/lib_microblaze/board.c @@ -47,13 +47,6 @@ extern int getenv_IPaddr (char *);  #endif  /* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start; -static ulong mem_malloc_end; -static ulong mem_malloc_brk; - -/*   * 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 @@ -66,18 +59,6 @@ static void mem_malloc_init (void)  	memset ((void *)mem_malloc_start, 0, mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *)old); -} -  /*   * All attempts to come up with a "common" initialization sequence   * that works for all boards and architectures failed: some of the diff --git a/lib_mips/board.c b/lib_mips/board.c index aa5b1295c..68a3697f7 100644 --- a/lib_mips/board.c +++ b/lib_mips/board.c @@ -60,13 +60,6 @@ const char version_string[] =  static char *failed = "*** failed ***\n";  /* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start; -static ulong mem_malloc_end; -static ulong mem_malloc_brk; - -/*   * mips_io_port_base is the begin of the address space to which x86 style   * I/O ports are mapped.   */ @@ -97,18 +90,6 @@ static void mem_malloc_init (void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *) old); -} -  static int init_func_ram (void)  { diff --git a/lib_nios/board.c b/lib_nios/board.c index cd234578b..30cdb477c 100644 --- a/lib_nios/board.c +++ b/lib_nios/board.c @@ -27,6 +27,7 @@  #include <common.h>  #include <stdio_dev.h>  #include <watchdog.h> +#include <malloc.h>  #include <net.h>  #ifdef CONFIG_STATUS_LED  #include <status_led.h> @@ -52,13 +53,6 @@ extern void malloc_bin_reloc (void);  typedef int (init_fnc_t) (void);  /* - * Begin and End of memory area for malloc(), and current "brk" - */ -static	ulong	mem_malloc_start = 0; -static	ulong	mem_malloc_end	 = 0; -static	ulong	mem_malloc_brk	 = 0; - -/*   * The Malloc area is immediately below the monitor copy in RAM   */  static void mem_malloc_init (void) @@ -71,18 +65,6 @@ static void mem_malloc_init (void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *) old); -} -  /************************************************************************   * Initialization sequence						* diff --git a/lib_nios2/board.c b/lib_nios2/board.c index b142c5961..e5a8d5406 100644 --- a/lib_nios2/board.c +++ b/lib_nios2/board.c @@ -27,6 +27,7 @@  #include <common.h>  #include <stdio_dev.h>  #include <watchdog.h> +#include <malloc.h>  #include <net.h>  #ifdef CONFIG_STATUS_LED  #include <status_led.h> @@ -55,13 +56,6 @@ extern void malloc_bin_reloc (void);  typedef int (init_fnc_t) (void);  /* - * Begin and End of memory area for malloc(), and current "brk" - */ -static	ulong	mem_malloc_start = 0; -static	ulong	mem_malloc_end	 = 0; -static	ulong	mem_malloc_brk	 = 0; - -/*   * The Malloc area is immediately below the monitor copy in RAM   */  static void mem_malloc_init (void) @@ -74,18 +68,6 @@ static void mem_malloc_init (void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *) old); -} -  /************************************************************************   * Initialization sequence						* diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 9faf7f2a0..f0cc3ce8d 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -136,13 +136,6 @@ ulong monitor_flash_len;  #include <bedbug/type.h>  #endif -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static	ulong	mem_malloc_start = 0; -static	ulong	mem_malloc_end	 = 0; -static	ulong	mem_malloc_brk	 = 0; -  /************************************************************************   * Utilities								*   ************************************************************************ @@ -164,18 +157,6 @@ static void mem_malloc_init (void)  		mem_malloc_end - mem_malloc_start);  } -void *sbrk (ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *) old); -} -  /*   * All attempts to come up with a "common" initialization sequence   * that works for all boards and architectures failed: some of the diff --git a/lib_sh/board.c b/lib_sh/board.c index 829455d8b..001e89c71 100644 --- a/lib_sh/board.c +++ b/lib_sh/board.c @@ -38,10 +38,6 @@ const char version_string[] = U_BOOT_VERSION" ("U_BOOT_DATE" - "U_BOOT_TIME")";  unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN; -static unsigned long mem_malloc_start; -static unsigned long mem_malloc_end; -static unsigned long mem_malloc_brk; -  static void mem_malloc_init(void)  { @@ -52,20 +48,6 @@ static void mem_malloc_init(void)  		(mem_malloc_end - mem_malloc_start));  } -void *sbrk(ptrdiff_t increment) -{ -	unsigned long old = mem_malloc_brk; -	unsigned long new = old + increment; - -	if ((new < mem_malloc_start) || -	    (new > mem_malloc_end)) { -		return NULL; -	} - -	mem_malloc_brk = new; -	return (void *) old; -} -  static int sh_flash_init(void)  {  	DECLARE_GLOBAL_DATA_PTR; diff --git a/lib_sparc/board.c b/lib_sparc/board.c index d40834b7b..37b7c0a59 100644 --- a/lib_sparc/board.c +++ b/lib_sparc/board.c @@ -74,13 +74,6 @@ static char *failed = "*** failed ***\n";  ulong monitor_flash_len; -/* - * Begin and End of memory area for malloc(), and current "brk" - */ -static ulong mem_malloc_start = 0; -static ulong mem_malloc_end = 0; -static ulong mem_malloc_brk = 0; -  /************************************************************************   * Utilities								*   ************************************************************************ @@ -97,18 +90,6 @@ static void mem_malloc_init(void)  	memset((void *)mem_malloc_start, 0, mem_malloc_end - mem_malloc_start);  } -void *sbrk(ptrdiff_t increment) -{ -	ulong old = mem_malloc_brk; -	ulong new = old + increment; - -	if ((new < mem_malloc_start) || (new > mem_malloc_end)) { -		return (NULL); -	} -	mem_malloc_brk = new; -	return ((void *)old); -} -  /***********************************************************************/  /************************************************************************ |