summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/gen5200/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-16 22:13:54 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-16 22:13:54 +0000
commite1ee0b599c8eed360c024b417fc47392447aa5aa (patch)
treebc597e545891c0d5aedaee1ae70047b954847070 /c/src/lib/libbsp/powerpc/gen5200/startup
parent2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-e1ee0b599c8eed360c024b417fc47392447aa5aa.tar.bz2
2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspgetworkarea.c, startup/linkcmds.base: Do some prep work in anticipation of gen5200 and gen83xx being able to shared bsp_get_work_area() implementation.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/gen5200/startup')
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c12
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base5
2 files changed, 15 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c b/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c
index 591ed811ef..935088ed06 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c
+++ b/c/src/lib/libbsp/powerpc/gen5200/startup/bspgetworkarea.c
@@ -10,6 +10,14 @@
#include <bsp/bootcard.h>
#include <stdint.h>
+/*
+ * These are provided by the linkcmds for ALL of the BSPs which use this file.
+ */
+extern char RamBase[];
+extern char WorkAreaBase[];
+extern char HeapSize[];
+extern char RamSize[];
+
#if defined(HAS_UBOOT)
extern bd_t *uboot_bdinfo_ptr;
#endif
@@ -31,12 +39,12 @@ void bsp_get_work_area(
char *ram_end = (char *) uboot_bdinfo_ptr->bi_memstart +
uboot_bdinfo_ptr->bi_memsize;
#else /* HAS_UBOOT */
- char *ram_end = bsp_ram_end;
+ char *ram_end = (uintptr_t)RamBase + (uintptr_t)RamSize;
#endif /* HAS_UBOOT */
*work_area_start = bsp_work_area_start;
*work_area_size = ram_end - bsp_work_area_start;
*heap_start = BSP_BOOTCARD_HEAP_USES_WORK_AREA;
- *heap_size = BSP_BOOTCARD_HEAP_SIZE_DEFAULT;
+ *heap_size = HeapSize;
}
diff --git a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base
index 1a9e40ec66..88d366f4e1 100644
--- a/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base
+++ b/c/src/lib/libbsp/powerpc/gen5200/startup/linkcmds.base
@@ -22,6 +22,10 @@ bsp_dpram_size = LENGTH (DPRAM);
bsp_section_align = 32;
+RamBase = bsp_ram_start;
+RamSize = bsp_ram_size;
+HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
+
SECTIONS {
/*
* BSP: MPC5200 registers
@@ -268,6 +272,7 @@ SECTIONS {
* BSP: Work area start
*/
bsp_work_area_start = .;
+ WorkAreaBase = .;
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }