diff options
Diffstat (limited to 'c/src/lib/libbsp/sparc')
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/include/bsp.h | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/include/bsp.h | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/include/bsp.h | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/bspgetworkarea.c | 27 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/shared/startup/early_malloc.c | 4 |
5 files changed, 17 insertions, 26 deletions
diff --git a/c/src/lib/libbsp/sparc/erc32/include/bsp.h b/c/src/lib/libbsp/sparc/erc32/include/bsp.h index 879e7144e0..26d4d2fc27 100644 --- a/c/src/lib/libbsp/sparc/erc32/include/bsp.h +++ b/c/src/lib/libbsp/sparc/erc32/include/bsp.h @@ -81,8 +81,8 @@ 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(). + * bsp_work_area_initialize(). malloc() is called to get memory when this function + * is called after bsp_work_area_initialize(). */ void *bsp_early_malloc(int size); diff --git a/c/src/lib/libbsp/sparc/leon2/include/bsp.h b/c/src/lib/libbsp/sparc/leon2/include/bsp.h index e96a63ee90..dbefc347f7 100644 --- a/c/src/lib/libbsp/sparc/leon2/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon2/include/bsp.h @@ -101,8 +101,8 @@ 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(). + * bsp_work_area_initialize(). malloc() is called to get memory when this function + * is called after bsp_work_area_initialize(). */ void *bsp_early_malloc(int size); diff --git a/c/src/lib/libbsp/sparc/leon3/include/bsp.h b/c/src/lib/libbsp/sparc/leon3/include/bsp.h index d883064660..31e527eb21 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/bsp.h +++ b/c/src/lib/libbsp/sparc/leon3/include/bsp.h @@ -114,8 +114,8 @@ 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(). + * bsp_work_area_initialize(). malloc() is called to get memory when this function + * is called after bsp_work_area_initialize(). */ void *bsp_early_malloc(int size); diff --git a/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c b/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c index 45d3d0ed87..d799800d61 100644 --- a/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c +++ b/c/src/lib/libbsp/sparc/shared/bspgetworkarea.c @@ -28,24 +28,17 @@ unsigned int early_mem = (unsigned int)&end; * is to be allocated between the RTEMS Workspace and the C Program * Heap. */ -void bsp_get_work_area( - void **work_area_start, - uintptr_t *work_area_size, - void **heap_start, - uintptr_t *heap_size -) +void bsp_work_area_initialize(void) { /* must be identical to STACK_SIZE in start.S */ #define STACK_SIZE (16 * 1024) /* Early dynamic memory allocator is placed just above _end */ - *work_area_start = (void *)early_mem; - *work_area_size = (void *)rdb_start - (void *)early_mem - STACK_SIZE; + void *work_area_start = (void *)early_mem; + uintptr_t work_area_size = + (uintptr_t)rdb_start - (uintptr_t)early_mem - STACK_SIZE; early_mem = ~0; /* Signal bsp_early_malloc not to be used anymore */ - *heap_start = BSP_BOOTCARD_HEAP_USES_WORK_AREA; - *heap_size = BSP_BOOTCARD_HEAP_SIZE_DEFAULT; - /* * The following may be helpful in debugging what goes wrong when * you are allocating the Work Area in a new BSP. @@ -58,19 +51,17 @@ void bsp_get_work_area( "work_area_start = 0x%p\n" "work_area_size = %d 0x%08x\n" "end = 0x%p\n" - "heap_start = 0x%p\n" - "heap_size = %d\n" "current stack pointer = 0x%p%s\n", - *work_area_start, - *work_area_size, /* decimal */ - *work_area_size, /* hexadecimal */ + work_area_start, + work_area_size, /* decimal */ + work_area_size, /* hexadecimal */ end, - *heap_start, - *heap_size, sp, ((sp >= *work_area_start && sp <= end) ? " OVERLAPS!" : "") ); printk( "rdb_start = 0x%08x\n", rdb_start ); } #endif + + bsp_work_area_initialize_default(work_area_start, work_area_size); } diff --git a/c/src/lib/libbsp/sparc/shared/startup/early_malloc.c b/c/src/lib/libbsp/sparc/shared/startup/early_malloc.c index 1f968da206..dc89fad04a 100644 --- a/c/src/lib/libbsp/sparc/shared/startup/early_malloc.c +++ b/c/src/lib/libbsp/sparc/shared/startup/early_malloc.c @@ -25,8 +25,8 @@ extern unsigned int early_mem; /* 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(). + * bsp_work_area_initialize(). malloc() is called to get memory when this function + * is called after bsp_work_area_initialize(). */ void *bsp_early_malloc(int size) { |