2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>

* startup/bspstart.c, startup/bspstart.c.nocache: Add use of
	bsp_get_work_area() in its own file and rely on BSP Framework to
	perform more initialization.
This commit is contained in:
Joel Sherrill
2008-09-15 22:05:03 +00:00
parent 379a476172
commit fe6cce1cda
3 changed files with 6 additions and 60 deletions

View File

@@ -1,3 +1,9 @@
2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com>
* startup/bspstart.c, startup/bspstart.c.nocache: Add use of
bsp_get_work_area() in its own file and rely on BSP Framework to
perform more initialization.
2008-09-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, startup/bspstart.c, startup/linkcmds:

View File

@@ -20,8 +20,6 @@
#warning The interrupt disable mask is now stored in SPRG0, please verify that this is compatible to this BSP (see also bootcard.c).
#include <string.h>
#include <bsp.h>
#include <bsp/irq.h>
#include <rtems/libio.h>

View File

@@ -18,11 +18,7 @@
* $Id$
*/
#include <string.h>
#include <bsp.h>
#include <rtems/libio.h>
#include <rtems/libcsupport.h>
/*
* Driver configuration parameters
@@ -37,47 +33,6 @@ uint32_t bsp_timer_average_overhead; /* Average overhead of timer in ticks */
uint32_t bsp_timer_least_valid; /* Least valid number from timer */
bool bsp_timer_internal_clock; /* TRUE, when timer runs with CPU clk */
/*
* Use the shared implementations of the following routines.
* Look in rtems/c/src/lib/libbsp/shared/bsppost.c and
* rtems/c/src/lib/libbsp/shared/bsplibc.c.
*/
void bsp_libc_init( void *, uint32_t, int );
/*
* bsp_pretasking_hook
*
* Called when RTEMS initialization is complete but before interrupts and
* tasking are enabled. Used to setup libc and install any BSP extensions.
*
* Must not use libc (to do io) from here, since drivers are not yet
* initialized.
*
* Input parameters: NONE
*
* Output parameters: NONE
*
* Return values: NONE
*/
void bsp_pretasking_hook(void)
{
/*
* These are assigned addresses in the linkcmds file for the BSP. This
* approach is better than having these defined as manifest constants and
* compiled into the kernel, but it is still not ideal when dealing with
* multiprocessor configuration in which each board as a different memory
* map. A better place for defining these symbols might be the makefiles.
* Consideration should also be given to developing an approach in which
* the kernel and the application can be linked and burned into ROM
* independently of each other.
*/
extern unsigned char _HeapStart;
extern unsigned char _HeapEnd;
bsp_libc_init( &_HeapStart, &_HeapEnd - &_HeapStart, 0 );
}
/*
* bsp_start()
*
@@ -104,7 +59,6 @@ void bsp_pretasking_hook(void)
*/
void bsp_start(void)
{
extern void *_WorkspaceBase;
uint32_t r1;
mmu_init();
@@ -128,18 +82,6 @@ void bsp_start(void)
_isync;
#endif
/*
* Allocate the memory for the RTEMS Work Space. 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.
*
* In this case, the memory is not malloc'ed. It is just
* "pulled from the air".
*/
Configuration.work_space_start = (void *)&_WorkspaceBase;
/*
* initialize the device driver parameters
*/