From 0729e2a7af22fa27defcd1daa90aad32721947b6 Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Wed, 28 Mar 2012 10:49:27 +0200 Subject: SPARC: bsp_early_malloc() routine for startup memory allocation If bsp_early_malloc() is called early during boot room will be allocated after BSS END. If the function is called after boot is will call malloc() instead. The returned memory is not freeable and always 8-byte aligned. If the bsp_early_malloc() isn't called the function is not dragged in and the workspace will be unmodified in size. Signed-off-by: Daniel Hellstrom --- c/src/lib/libbsp/sparc/leon3/include/bsp.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'c/src/lib/libbsp/sparc/leon3/include/bsp.h') diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h b/c/src/lib/libbsp/sparc/leon3/include/bsp.h index 421d850272..07a7412e16 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h @@ -15,8 +15,6 @@ * * ERC32 modifications of respective RTEMS file: COPYRIGHT (c) 1995. * European Space Agency. - * - * $Id$ */ #ifndef _BSP_H @@ -110,6 +108,13 @@ void BSP_fatal_return( void ); void bsp_spurious_initialize( void ); +/* Allocate 8-byte aligned non-freeable pre-malloc() memory. The function + * can be called at any time. The work-area will shrink when called before + * bsp_get_work_area(). malloc() is called to get memory when this function + * is called after bsp_get_work_area(). + */ +void *bsp_early_malloc(int size); + #ifdef __cplusplus } #endif -- cgit v1.2.3