2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>

* Makefile.am, configure.ac, startup/bspstart.c: Add capability for
	bootcard.c BSP Initialization Framework to ask the BSP where it has
	memory for the RTEMS Workspace and C Program Heap. These collectively
	are referred to as work area. If the BSP supports this, then it does
	not have to include code to split the available memory between the
	two areas. This reduces the amount of code in the BSP specific
	bspstart.c file. Additionally, the shared framework can dirty the
	work area memory. Until most/all BSPs support this new capability, if
	the BSP supports this, it should call
	RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
	the transition is complete, this autoconf macro can be removed.
This commit is contained in:
Joel Sherrill
2008-05-15 15:52:00 +00:00
parent e0abba9e30
commit 19f4a34914
4 changed files with 18 additions and 16 deletions

View File

@@ -1,3 +1,17 @@
2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am, configure.ac, startup/bspstart.c: Add capability for
bootcard.c BSP Initialization Framework to ask the BSP where it has
memory for the RTEMS Workspace and C Program Heap. These collectively
are referred to as work area. If the BSP supports this, then it does
not have to include code to split the available memory between the
two areas. This reduces the amount of code in the BSP specific
bspstart.c file. Additionally, the shared framework can dirty the
work area memory. Until most/all BSPs support this new capability, if
the BSP supports this, it should call
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac. When
the transition is complete, this autoconf macro can be removed.
2008-05-14 Joel Sherrill <joel.sherrill@OARcorp.com>
* Makefile.am: Rework to avoid .rel files.

View File

@@ -29,7 +29,8 @@ dist_project_lib_DATA += startup/linkcmds
startup_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c ../../shared/bsppredriverhook.c \
startup/bspstart.c ../../shared/bootcard.c \
../../m68k/shared/m68kpretaskinghook.c \
../../shared/bsppretaskinghook.c \
../../m68k/shared/m68kbspgetworkarea.c \
../../shared/sbrk.c ../../m68k/shared/setvec.c
gnatsupp_SOURCES = ../../shared/gnatinstallhandler.c
clock_SOURCES = clock/ckinit.c

View File

@@ -15,6 +15,8 @@ RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@@ -21,28 +21,15 @@
#include <rtems/libcsupport.h>
#include <rtems/zilog/z8036.h>
/*
* Use the shared implementations of the following routines
*/
void bsp_libc_init( void *, uint32_t, int );
void bsp_pretasking_hook(void); /* m68k version */
/*
* bsp_start
*
* This routine does the bulk of the system initialization.
*/
void bsp_start( void )
{
m68k_isr_entry *monitors_vector_table;
int index;
extern void *_WorkspaceBase;
extern void *_RamSize;
extern unsigned long _M68k_Ramsize;
_M68k_Ramsize = (unsigned long)&_RamSize;
monitors_vector_table = (m68k_isr_entry *)0; /* 135Bug Vectors are at 0 */
m68k_set_vbr( monitors_vector_table );
@@ -60,6 +47,4 @@ void bsp_start( void )
(*(uint8_t*)0xfffb0067) = 0x7f; /* make VME access round-robin */
rtems_cache_enable_instruction();
Configuration.work_space_start = (void *) &_WorkspaceBase;
}