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

* shared/bspstart.c, shared/start.S: 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 initialize the C Library, call
	rtems_debug_enable(), and 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:53:23 +00:00
parent 5e5d0b16ed
commit 8f78ced725
3 changed files with 58 additions and 77 deletions

View File

@@ -223,11 +223,8 @@ SYM(hard_reset):
set (SYM(rdb_start)), %g6 ! End of work-space area
st %sp, [%g6]
set (SYM(Configuration)), %l1
ld [%l1+4], %l3 ! work_space_size
sub %sp, %l3, %sp ! set %sp to area below work_space
sub %g6, 4, %sp ! stack starts at end of RAM - 4
andn %sp, 0x0f, %sp ! align stack on 16-byte boundary
mov %sp, %fp ! Set frame pointer
nop