summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/sparc')
-rw-r--r--c/src/lib/libbsp/sparc/erc32/include/bsp.h4
-rw-r--r--c/src/lib/libbsp/sparc/leon2/include/bsp.h4
-rw-r--r--c/src/lib/libbsp/sparc/leon3/include/bsp.h4
-rw-r--r--c/src/lib/libbsp/sparc/shared/bspgetworkarea.c27
-rw-r--r--c/src/lib/libbsp/sparc/shared/startup/early_malloc.c4
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)
{