summaryrefslogtreecommitdiffstats
path: root/c/src
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-15 19:18:31 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-15 19:18:31 +0000
commit512d0fcba10b84737fbaca5dd078995000667120 (patch)
tree672cf547719761f6016854ba3cdf72d541c18d62 /c/src
parent2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-512d0fcba10b84737fbaca5dd078995000667120.tar.bz2
2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, include/bsp.h, startup/linkcmds: Use shared bsp_get_work_area() in its own file and rely on BSP Framework to perform more initialization. After factoring this out, it turned out that all SuperH BSPs has the same bsp_start() implementation so this was made shared.
Diffstat (limited to 'c/src')
-rw-r--r--c/src/lib/libbsp/sh/shsim/ChangeLog8
-rw-r--r--c/src/lib/libbsp/sh/shsim/Makefile.am5
-rw-r--r--c/src/lib/libbsp/sh/shsim/configure.ac7
-rw-r--r--c/src/lib/libbsp/sh/shsim/include/bsp.h5
-rw-r--r--c/src/lib/libbsp/sh/shsim/startup/linkcmds12
5 files changed, 23 insertions, 14 deletions
diff --git a/c/src/lib/libbsp/sh/shsim/ChangeLog b/c/src/lib/libbsp/sh/shsim/ChangeLog
index 6b3c70d6e7..e34d74f6fc 100644
--- a/c/src/lib/libbsp/sh/shsim/ChangeLog
+++ b/c/src/lib/libbsp/sh/shsim/ChangeLog
@@ -1,3 +1,11 @@
+2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * Makefile.am, configure.ac, include/bsp.h, startup/linkcmds: Use
+ shared bsp_get_work_area() in its own file and rely on BSP Framework
+ to perform more initialization. After factoring this out, it turned
+ out that all SuperH BSPs has the same bsp_start() implementation so
+ this was made shared.
+
2008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com>
* include/bsp.h: Review of all bsp_cleanup() implementations. In this
diff --git a/c/src/lib/libbsp/sh/shsim/Makefile.am b/c/src/lib/libbsp/sh/shsim/Makefile.am
index d57ce314b9..7b8312090b 100644
--- a/c/src/lib/libbsp/sh/shsim/Makefile.am
+++ b/c/src/lib/libbsp/sh/shsim/Makefile.am
@@ -35,9 +35,10 @@ BUILT_SOURCES = scitab.c
CLEANFILES = scitab.c
startup_SOURCES = ../../shared/bsplibc.c ../../shared/bsppost.c \
- ../../shared/bsppredriverhook.c startup/bspstart.c \
+ ../../shared/bsppredriverhook.c ../shared/bspstart.c \
+ ../../shared/bsppretaskinghook.c ../shared/bspgetworkarea.c \
../../shared/bspclean.c ../../shared/sbrk.c ../../shared/bootcard.c \
- ../../shared/gnatinstallhandler.c
+ ../../shared/gnatinstallhandler.c ../shared/bsphwinit.c
clock_SOURCES = clock/clockdrv.c
scitab_SOURCES = scitab.c
gdbsci_SOURCES = gdbsci/gdbsci.c
diff --git a/c/src/lib/libbsp/sh/shsim/configure.ac b/c/src/lib/libbsp/sh/shsim/configure.ac
index 06789a2d9a..fcf0563346 100644
--- a/c/src/lib/libbsp/sh/shsim/configure.ac
+++ b/c/src/lib/libbsp/sh/shsim/configure.ac
@@ -61,9 +61,16 @@ RTEMS_BSPOPTS_SET([CPU_CLOCK_RATE_HZ],[*],[20000000])
RTEMS_BSPOPTS_HELP([CPU_CLOCK_RATE_HZ],
[cpu clock rate in HZ])
+RTEMS_BSPOPTS_SET([START_HW_INIT],[*],[])
+RTEMS_BSPOPTS_HELP([START_HW_INIT],
+[If defined, selects whether 'early_hw_init()' is called from 'start.S';
+ 'bsp_hw_init()' is always called from 'bspstart.c'])
+
## Used in scitab/Makefile.am
AC_SUBST(CPU_CLOCK_RATE_HZ)
+RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
+
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/c/src/lib/libbsp/sh/shsim/include/bsp.h b/c/src/lib/libbsp/sh/shsim/include/bsp.h
index 9644fcdcae..3613fe8fa7 100644
--- a/c/src/lib/libbsp/sh/shsim/include/bsp.h
+++ b/c/src/lib/libbsp/sh/shsim/include/bsp.h
@@ -56,11 +56,6 @@ extern "C" {
* Defined in the linker script 'linkcmds'
*/
-extern uint32_t HeapStart ;
-extern uint32_t HeapEnd ;
-extern uint32_t WorkSpaceStart ;
-extern uint32_t WorkSpaceEnd ;
-
extern void *CPU_Interrupt_stack_low ;
extern void *CPU_Interrupt_stack_high ;
diff --git a/c/src/lib/libbsp/sh/shsim/startup/linkcmds b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
index ebe8b8f0fd..318b29f772 100644
--- a/c/src/lib/libbsp/sh/shsim/startup/linkcmds
+++ b/c/src/lib/libbsp/sh/shsim/startup/linkcmds
@@ -22,6 +22,9 @@
OUTPUT_ARCH(sh)
ENTRY(_start)
+_RamBase = DEFINED(_RamBase) ? _RamBase : 0x00040000;
+_RamSize = DEFINED(_RamSize) ? _RamSize : 512K;
+
MEMORY
{
/* Real memory layout submitted
@@ -39,7 +42,7 @@ MEMORY
SECTIONS
{
/* boot vector table */
- .monvects 0x00000000 (NOLOAD) :
+ .monvects (NOLOAD) :
{
_monvects = . ;
} > rom
@@ -101,6 +104,7 @@ SECTIONS
.plt : { *(.plt) }
.text . :
{
+ _start = .;
*(.text*)
*(.stub)
@@ -173,13 +177,7 @@ SECTIONS
_end = . ;
PROVIDE (end = .);
- _HeapStart = . ;
- . = . + 1024 * 20 ;
- PROVIDE( _HeapEnd = . );
-
_WorkSpaceStart = . ;
- /* XXX . = 0x00080000 ; */
- PROVIDE(_WorkSpaceEnd = .);
_CPU_Interrupt_stack_low = 0x00080000 ;
_CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ;