diff options
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/ChangeLog | 8 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/Makefile.am | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/configure.ac | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/include/bsp.h | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/sh/shsim/startup/linkcmds | 12 |
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 ; |