summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/genmcf548x/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-16 19:03:19 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-16 19:03:19 +0000
commit0ba477eab1018e085891711e941299fe24690a64 (patch)
treeaa9c78bfdb7164e7a68e27ce8fdadf286031dad9 /c/src/lib/libbsp/m68k/genmcf548x/startup
parent2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-0ba477eab1018e085891711e941299fe24690a64.tar.bz2
2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, include/bspopts.h.in, startup/bspstart.c, startup/linkcmds, startup/linkcmds.m5484FireEngine.flash: Add use of bsp_get_work_area() in its own file and rely on BSP Framework to perform more initialization. Remove unnecessary includes of rtems/libio.h and rtems/libcsupport.h.
Diffstat (limited to 'c/src/lib/libbsp/m68k/genmcf548x/startup')
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c52
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds65
-rw-r--r--c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash64
3 files changed, 65 insertions, 116 deletions
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c b/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
index 9149a21862..545c6f6be8 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/bspstart.c
@@ -44,17 +44,9 @@
\*===============================================================*/
#include <bsp.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
-#include <string.h>
-
-char *HeapStart, *HeapEnd;
-unsigned long _HeapSize;
extern uint32_t _CPU_cacr_shadow;
-extern unsigned long _M68k_Ramsize;
-
/*
* These labels (!) are defined in the linker command file or when the linker is
* invoked.
@@ -70,7 +62,6 @@ extern char _BootFlashSize[];
extern char _CodeFlashSize[];
extern char _TopRamReserved [];
extern char _WorkspaceBase [];
-extern char _RamSize[];
/*
* CPU-space access
@@ -197,38 +188,6 @@ for(way_cnt=0; way_cnt<4; way_cnt++)
}
/*
- * Use the shared implementations of the following routines
- */
-
-void bsp_predriver_hook(void)
-{
- /* Do nothing */
-}
-
-void bsp_postdriver_hook(void);
-void bsp_libc_init( void *, uint32_t, int );
-void bsp_pretasking_hook(void); /* m68k version */
-
-void bsp_calc_mem_layout(void)
-{
- /*
- * compute the memory layout:
- * - first unused address is Workspace start
- * - Heap starts at end of workspace
- * - Heap ends at end of memory - reserved memory area
- */
- Configuration.work_space_start = _WorkspaceBase;
-
- HeapStart = ((char *)Configuration.work_space_start +
- Configuration.work_space_size);
-
- HeapEnd = (void *)(RAM_END - (uint32_t)_TopRamReserved);
-
- _HeapSize = HeapEnd - HeapStart;
-}
-
-
-/*
* Coldfire acr and mmu settings
*/
void acr_mmu_mapping(void)
@@ -288,17 +247,6 @@ void bsp_calc_mem_layout(void)
*/
void bsp_start( void )
{
- _M68k_Ramsize = (unsigned long)_RamSize; /* RAM size set in linker script */
-
- /*
- * Allocate the memory for the RTEMS Work Space and Heap. This can come from
- * a variety of places: hard coded address, malloc'ed from outside
- * RTEMS world (e.g. simulator or primitive memory manager), or (as
- * typically done by stock BSPs) by subtracting the required amount
- * of work space from the last physical address on the CPU board.
- */
- bsp_calc_mem_layout();
-
/*
* do mapping of acr's and/or mmu
*/
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds b/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds
index 446a4588b7..1281cd5656 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds
@@ -48,38 +48,39 @@
/*
* Location and size of on-chip devices
*/
-_SdramBase = DEFINED(_SdramBase) ? _SdramBase : 0x00000000;
-_SdramSize = DEFINED(_SdramSize) ? _SdramSize : (64 * 1024 * 1024);
-_SysSramBase = DEFINED(_SysSramBase) ? _SysSramBase : __MBAR + 0x00010000;
-_SysSramSize = DEFINED(_SysSramSize) ? _SysSramSize : (32 * 1024);
-_McdapiBase = DEFINED(_McdapiBase) ? _McdapiBase : _SysSramBase;
-_McdapiSize = DEFINED(_McdapiSize) ? _McdapiSize : (12 * 1024);
-_CoreSramBase0 = DEFINED(_CoreSramBase0) ? _CoreSramBase0 : 0x20000000;
-_CoreSramBase1 = DEFINED(_CoreSramBase1) ? _CoreSramBase1 : 0x20001000;
-_CoreSramSize0 = DEFINED(_CoreSramSize0) ? _CoreSramSize0 : (4 * 1024);
-_CoreSramSize1 = DEFINED(_CoreSramSize1) ? _CoreSramSize1 : (4 * 1024);
-_BootFlashBase = DEFINED(_BootFlashBase) ? _BootFlashBase : 0xFF800000;
-_BootFlashSize = DEFINED(_BootFlashSize) ? _BootFlashSize : (2 * 1024 * 1024);
-_CodeFlashBase = DEFINED(_CodeFlashBase) ? _CodeFlashBase : 0xE0000000;
-_CodeFlashSize = DEFINED(_CodeFlashSize) ? _CodeFlashSize : (16 * 1024 * 1024);
-
-_VectorRam = DEFINED(_VectorRam) ? _VectorRam : _SdramBase;
-_DataRam = DEFINED(_DataRam) ? _DataRam : _data_dest_start;
-_DataRom = DEFINED(_DataRom) ? _DataRom : _data_src_start;
-_DataEnd = DEFINED(_DataEnd) ? _DataEnd : _data_dest_end;
-_BssStart = DEFINED(_BssStart) ? _BssStart : _clear_start;
-_BssEnd = DEFINED(_BssEnd) ? _BssEnd : _clear_end;
-_SpInit = DEFINED(_SpInit) ? _SpInit : _EndInitStackSpace;
-_InitPc = DEFINED(_InitPc) ? _InitPc : _SdramBase + 0x400;
-
-_InitStackSize = DEFINED(StackSize) ? StackSize : 0x800; /* 2 kB */
-_TopRamReserved = DEFINED(_TopRamReserved) ? _TopRamReserved : 0;
-
-_RamBase = DEFINED(_SdramBase) ? _SdramBase : _SdramBase;
-_RamSize = DEFINED(_SdramSize) ? _SdramSize : _SdramSize;
-_VBR = DEFINED(_VBR) ? _VBR : _RamBase;
-
-__MBAR = DEFINED(__MBAR) ? __MBAR : 0x10000000;
+_SdramBase = DEFINED(_SdramBase) ? _SdramBase : 0x00000000;
+_SdramSize = DEFINED(_SdramSize) ? _SdramSize : (64 * 1024*1024);
+_SysSramBase = DEFINED(_SysSramBase) ? _SysSramBase : __MBAR + 0x00010000;
+_SysSramSize = DEFINED(_SysSramSize) ? _SysSramSize : (32 * 1024);
+_McdapiBase = DEFINED(_McdapiBase) ? _McdapiBase : _SysSramBase;
+_McdapiSize = DEFINED(_McdapiSize) ? _McdapiSize : (12 * 1024);
+_CoreSramBase0 = DEFINED(_CoreSramBase0) ? _CoreSramBase0 : 0x20000000;
+_CoreSramBase1 = DEFINED(_CoreSramBase1) ? _CoreSramBase1 : 0x20001000;
+_CoreSramSize0 = DEFINED(_CoreSramSize0) ? _CoreSramSize0 : (4 * 1024);
+_CoreSramSize1 = DEFINED(_CoreSramSize1) ? _CoreSramSize1 : (4 * 1024);
+_BootFlashBase = DEFINED(_BootFlashBase) ? _BootFlashBase : 0xFF800000;
+_BootFlashSize = DEFINED(_BootFlashSize) ? _BootFlashSize : (2 * 1024*1024);
+_CodeFlashBase = DEFINED(_CodeFlashBase) ? _CodeFlashBase : 0xE0000000;
+_CodeFlashSize = DEFINED(_CodeFlashSize) ? _CodeFlashSize : (16 * 1024*1024);
+
+_VectorRam = DEFINED(_VectorRam) ? _VectorRam : _SdramBase;
+_DataRam = DEFINED(_DataRam) ? _DataRam : _data_dest_start;
+_DataRom = DEFINED(_DataRom) ? _DataRom : _data_src_start;
+_DataEnd = DEFINED(_DataEnd) ? _DataEnd : _data_dest_end;
+_BssStart = DEFINED(_BssStart) ? _BssStart : _clear_start;
+_BssEnd = DEFINED(_BssEnd) ? _BssEnd : _clear_end;
+_SpInit = DEFINED(_SpInit) ? _SpInit : _EndInitStackSpace;
+_InitPc = DEFINED(_InitPc) ? _InitPc : _SdramBase + 0x400;
+
+_InitStackSize = DEFINED(StackSize) ? StackSize : 0x800; /* 2 kB */
+_TopRamReserved = DEFINED(_TopRamReserved) ? _TopRamReserved : 0;
+
+_RamBase = DEFINED(_SdramBase) ? _SdramBase : _SdramBase;
+_RamSize = DEFINED(_SdramSize) ? _SdramSize : _SdramSize;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
+_VBR = DEFINED(_VBR) ? _VBR : _RamBase;
+
+__MBAR = DEFINED(__MBAR) ? __MBAR : 0x10000000;
ENTRY(start)
MEMORY
diff --git a/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash b/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash
index c9ef89c286..b177fd67eb 100644
--- a/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash
+++ b/c/src/lib/libbsp/m68k/genmcf548x/startup/linkcmds.m5484FireEngine.flash
@@ -48,38 +48,38 @@
/*
* Location and size of on-chip devices
*/
-_SdramBase = DEFINED(_SdramBase) ? _SdramBase : 0x00000000;
-_SdramSize = DEFINED(_SdramSize) ? _SdramSize : (64 * 1024 * 1024);
-_SysSramBase = DEFINED(_SysSramBase) ? _SysSramBase : __MBAR + 0x00010000;
-_SysSramSize = DEFINED(_SysSramSize) ? _SysSramSize : (32 * 1024);
-_McdapiBase = DEFINED(_McdapiBase) ? _McdapiBase : _SysSramBase;
-_McdapiSize = DEFINED(_McdapiSize) ? _McdapiSize : (12 * 1024);
-_CoreSramBase0 = DEFINED(_CoreSramBase0) ? _CoreSramBase0 : 0x20000000;
-_CoreSramBase1 = DEFINED(_CoreSramBase1) ? _CoreSramBase1 : 0x20001000;
-_CoreSramSize0 = DEFINED(_CoreSramSize0) ? _CoreSramSize0 : (4 * 1024);
-_CoreSramSize1 = DEFINED(_CoreSramSize1) ? _CoreSramSize1 : (4 * 1024);
-_BootFlashBase = DEFINED(_BootFlashBase) ? _BootFlashBase : 0xFF800000;
-_BootFlashSize = DEFINED(_BootFlashSize) ? _BootFlashSize : (2 * 1024 * 1024);
-_CodeFlashBase = DEFINED(_CodeFlashBase) ? _CodeFlashBase : 0xE0000000;
-_CodeFlashSize = DEFINED(_CodeFlashSize) ? _CodeFlashSize : (16 * 1024 * 1024);
-
-_VectorRam = DEFINED(_VectorRam) ? _VectorRam : _SdramBase;
-_DataRam = DEFINED(_DataRam) ? _DataRam : _data_dest_start;
-_DataRom = DEFINED(_DataRom) ? _DataRom : _data_src_start;
-_DataEnd = DEFINED(_DataEnd) ? _DataEnd : _data_dest_end;
-_BssStart = DEFINED(_BssStart) ? _BssStart : _clear_start;
-_BssEnd = DEFINED(_BssEnd) ? _BssEnd : _clear_end;
-_SpInit = DEFINED(_SpInit) ? _SpInit : _EndInitStackSpace;
-_InitPc = DEFINED(_InitPc) ? _InitPc : _SdramBase + 0x400;
-
-_InitStackSize = DEFINED(StackSize) ? StackSize : 0x2000; /* 8 kB */
-_TopRamReserved = DEFINED(_TopRamReserved) ? _TopRamReserved : 0;
-
-_RamBase = DEFINED(_SdramBase) ? _SdramBase : _SdramBase;
-_RamSize = DEFINED(_SdramSize) ? _SdramSize : _SdramSize;
-_VBR = DEFINED(_VBR) ? _VBR : _RamBase;
-
-__MBAR = DEFINED(__MBAR) ? __MBAR : 0x10000000;
+_SdramBase = DEFINED(_SdramBase) ? _SdramBase : 0x00000000;
+_SdramSize = DEFINED(_SdramSize) ? _SdramSize : (64 * 1024 * 1024);
+_SysSramBase = DEFINED(_SysSramBase) ? _SysSramBase : __MBAR + 0x00010000;
+_SysSramSize = DEFINED(_SysSramSize) ? _SysSramSize : (32 * 1024);
+_McdapiBase = DEFINED(_McdapiBase) ? _McdapiBase : _SysSramBase;
+_McdapiSize = DEFINED(_McdapiSize) ? _McdapiSize : (12 * 1024);
+_CoreSramBase0 = DEFINED(_CoreSramBase0) ? _CoreSramBase0 : 0x20000000;
+_CoreSramBase1 = DEFINED(_CoreSramBase1) ? _CoreSramBase1 : 0x20001000;
+_CoreSramSize0 = DEFINED(_CoreSramSize0) ? _CoreSramSize0 : (4 * 1024);
+_CoreSramSize1 = DEFINED(_CoreSramSize1) ? _CoreSramSize1 : (4 * 1024);
+_BootFlashBase = DEFINED(_BootFlashBase) ? _BootFlashBase : 0xFF800000;
+_BootFlashSize = DEFINED(_BootFlashSize) ? _BootFlashSize : (2 * 1024 * 1024);
+_CodeFlashBase = DEFINED(_CodeFlashBase) ? _CodeFlashBase : 0xE0000000;
+_CodeFlashSize = DEFINED(_CodeFlashSize) ? _CodeFlashSize : (16 * 1024 * 1024);
+
+_VectorRam = DEFINED(_VectorRam) ? _VectorRam : _SdramBase;
+_DataRam = DEFINED(_DataRam) ? _DataRam : _data_dest_start;
+_DataRom = DEFINED(_DataRom) ? _DataRom : _data_src_start;
+_DataEnd = DEFINED(_DataEnd) ? _DataEnd : _data_dest_end;
+_BssStart = DEFINED(_BssStart) ? _BssStart : _clear_start;
+_BssEnd = DEFINED(_BssEnd) ? _BssEnd : _clear_end;
+_SpInit = DEFINED(_SpInit) ? _SpInit : _EndInitStackSpace;
+_InitPc = DEFINED(_InitPc) ? _InitPc : _SdramBase + 0x400;
+_InitStackSize = DEFINED(StackSize) ? StackSize : 0x2000; /* 8 kB */
+_TopRamReserved= DEFINED(_TopRamReserved) ? _TopRamReserved : 0;
+
+_RamBase = DEFINED(_SdramBase) ? _SdramBase : _SdramBase;
+_RamSize = DEFINED(_SdramSize) ? _SdramSize : _SdramSize;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
+_VBR = DEFINED(_VBR) ? _VBR : _RamBase;
+
+__MBAR = DEFINED(__MBAR) ? __MBAR : 0x10000000;
ENTRY(start)
MEMORY