forked from Imagelibrary/rtems
Transitioned to shared bsp_libc_init() and cleaned up comments.
This commit is contained in:
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec iface
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec iface
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -53,49 +48,12 @@ char *rtems_progname;
|
|||||||
rtems_unsigned32 heap_size = 0;
|
rtems_unsigned32 heap_size = 0;
|
||||||
rtems_unsigned32 heap_start;
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
void bsp_libc_init()
|
/*
|
||||||
{
|
* Use the shared implementations of the following routines
|
||||||
heap_size = 2 * 1024 * 1024; /* allocate a maximum of 2 megabytes for the heap */
|
*/
|
||||||
|
|
||||||
/* allocate all remaining memory to the heap */
|
void bsp_postdriver_hook(void);
|
||||||
do {
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
heap_size -= HEAP_BLOCK_SIZE;
|
|
||||||
heap_start = _sysalloc( heap_size );
|
|
||||||
} while ( !heap_start );
|
|
||||||
|
|
||||||
if (!heap_start)
|
|
||||||
rtems_fatal_error_occurred( heap_size );
|
|
||||||
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, heap_size, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -111,23 +69,38 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
/* allocate a maximum of 2 megabytes for the heap */
|
||||||
|
heap_size = 2 * 1024 * 1024;
|
||||||
|
|
||||||
|
/* allocate all remaining memory to the heap */
|
||||||
|
do {
|
||||||
|
heap_size -= HEAP_BLOCK_SIZE;
|
||||||
|
heap_start = _sysalloc( heap_size );
|
||||||
|
} while ( !heap_start );
|
||||||
|
|
||||||
|
if (!heap_start)
|
||||||
|
rtems_fatal_error_occurred( heap_size );
|
||||||
|
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, heap_size, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
int bsp_start(
|
int bsp_start(
|
||||||
int argc,
|
int argc,
|
||||||
char **argv,
|
char **argv,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* Called by RTEMS::RTEMS constructor in startup-ctor.cc
|
|
||||||
*
|
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -56,9 +49,10 @@ rtems_unsigned32 CPU_HPPA_CLICKS_PER_TICK;
|
|||||||
* Try to speed those tests up by speeding up the clock when in idle
|
* Try to speed those tests up by speeding up the clock when in idle
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rtems_extension
|
rtems_extension fast_idle_switch_hook(
|
||||||
fast_idle_switch_hook(rtems_tcb *current_task,
|
rtems_tcb *current_task,
|
||||||
rtems_tcb *heir_task)
|
rtems_tcb *heir_task
|
||||||
|
)
|
||||||
{
|
{
|
||||||
static rtems_unsigned32 normal_clock = ~0;
|
static rtems_unsigned32 normal_clock = ~0;
|
||||||
static rtems_unsigned32 fast_clock;
|
static rtems_unsigned32 fast_clock;
|
||||||
@@ -86,32 +80,26 @@ fast_idle_switch_hook(rtems_tcb *current_task,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_libc_init
|
* Use the shared implementations of the following routines
|
||||||
* Created: 94/12/6
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Initialize whatever libc we are using
|
|
||||||
* called from bsp_postdriver_hook
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
* none
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
* none.
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_postdriver_hook(void);
|
||||||
bsp_libc_init(void)
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Function: bsp_pretasking_hook
|
||||||
|
* Created: 95/03/10
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* BSP pretasking hook. Called just before drivers are initialized.
|
||||||
|
* Used to setup libc and install any BSP extensions.
|
||||||
|
*
|
||||||
|
* Notes:
|
||||||
|
* Must not use libc (to do io) from here, since drivers are
|
||||||
|
* not yet initialized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
extern int end;
|
extern int end;
|
||||||
rtems_unsigned32 heap_start;
|
rtems_unsigned32 heap_start;
|
||||||
@@ -120,25 +108,7 @@ bsp_libc_init(void)
|
|||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
* XXX; this should allow for case of some other non-clock interrupts
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* on MP systems, always use the print buffer
|
* on MP systems, always use the print buffer
|
||||||
@@ -151,39 +121,6 @@ bsp_libc_init(void)
|
|||||||
#ifdef SIMHPPA_ROM
|
#ifdef SIMHPPA_ROM
|
||||||
use_print_buffer = 1;
|
use_print_buffer = 1;
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function: bsp_pretasking_hook
|
|
||||||
* Created: 95/03/10
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* BSP pretasking hook. Called just before drivers are initialized.
|
|
||||||
* Used to setup libc and install any BSP extensions.
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
* none
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
* nada
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
* installs a few extensions
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
* Must not use libc (to do io) from here, since drivers are
|
|
||||||
* not yet initialized.
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
void
|
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
|
||||||
bsp_libc_init();
|
|
||||||
|
|
||||||
#if SIMHPPA_FAST_IDLE
|
#if SIMHPPA_FAST_IDLE
|
||||||
/*
|
/*
|
||||||
@@ -213,38 +150,6 @@ bsp_pretasking_hook(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function: bsp_start
|
|
||||||
* Created: 94/12/6
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* called by crt0 as our "main" equivalent
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_start(void)
|
void bsp_start(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -37,38 +32,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -84,23 +53,29 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bsppost bspstart sbrk setvec
|
C_PIECES=bsplibc bsppost bspstart sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -40,43 +35,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
extern int end;
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
#else
|
|
||||||
void * sbrk( int );
|
|
||||||
heap_start = (rtems_unsigned32) sbrk( 64 * 1024 + CPU_ALIGNMENT );
|
|
||||||
#endif
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -92,23 +56,34 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
extern int end;
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
#else
|
||||||
|
void * sbrk( int );
|
||||||
|
heap_start = (rtems_unsigned32) sbrk( 64 * 1024 + CPU_ALIGNMENT );
|
||||||
|
#endif
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* main/bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
/* This is the original command line passed from DOS */
|
/* This is the original command line passed from DOS */
|
||||||
char ** Go32_Argv;
|
char ** Go32_Argv;
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -43,45 +43,11 @@ rtems_cpu_table Cpu_table;
|
|||||||
extern rtems_unsigned32 rdb_start;
|
extern rtems_unsigned32 rdb_start;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bsp_libc_init
|
* Use the shared implementations of the following routines
|
||||||
*
|
|
||||||
* Initialize whatever libc we are using called from bsp_postdriver_hook.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void bsp_postdriver_hook(void);
|
||||||
void bsp_libc_init()
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
{
|
|
||||||
extern int heap_bottom;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
rtems_unsigned32 heap_size;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &heap_bottom;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
heap_size = BSP_Configuration.work_space_start -(void *) heap_start ;
|
|
||||||
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
|
||||||
|
|
||||||
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, heap_size, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -97,23 +63,33 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int heap_bottom;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
rtems_unsigned32 heap_size;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &heap_bottom;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
heap_size = BSP_Configuration.work_space_start -(void *) heap_start ;
|
||||||
|
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
||||||
|
|
||||||
|
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
||||||
|
bsp_libc_init((void *) heap_start, heap_size, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart exit irq main sbrk
|
C_PIECES=bspclean bsplibc bsppost bspstart exit irq main sbrk
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -66,38 +66,8 @@ char *rtems_progname; /* Program name - from main(). */
|
|||||||
| External Prototypes
|
| External Prototypes
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
extern void _exit(int); /* define in exit.c */
|
extern void _exit(int); /* define in exit.c */
|
||||||
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
/*-------------------------------------------------------------------------+
|
void bsp_postdriver_hook(void);
|
||||||
| Function: bsp_libc_init
|
|
||||||
| Description: Initialize whatever libc we are using. Called from
|
|
||||||
| pretasking hook.
|
|
||||||
| Global Variables: rtemsFreeMemStart.
|
|
||||||
| Arguments: None.
|
|
||||||
| Returns: Nothing.
|
|
||||||
+--------------------------------------------------------------------------*/
|
|
||||||
static void
|
|
||||||
bsp_libc_init(void)
|
|
||||||
{
|
|
||||||
if (rtemsFreeMemStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */
|
|
||||||
rtemsFreeMemStart = (rtemsFreeMemStart+CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *)rtemsFreeMemStart, HEAP_SIZE << 10, 0);
|
|
||||||
rtemsFreeMemStart += HEAP_SIZE << 10; /* HEAP_SIZE is in KBytes */
|
|
||||||
|
|
||||||
/* Init the RTEMS libio facility to provide UNIX-like system calls for use by
|
|
||||||
newlib (ie: provide __rtems_open, __rtems_close, etc). Uses malloc()
|
|
||||||
to get area for the iops, so must be after malloc initialization. */
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/* Set up for the libc handling. */
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
} /* bsp_libc_init */
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------+
|
/*-------------------------------------------------------------------------+
|
||||||
| Function: bsp_pretasking_hook
|
| Function: bsp_pretasking_hook
|
||||||
@@ -109,10 +79,14 @@ bsp_libc_init(void)
|
|||||||
| Arguments: None.
|
| Arguments: None.
|
||||||
| Returns: Nothing.
|
| Returns: Nothing.
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
if (rtemsFreeMemStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */
|
||||||
|
rtemsFreeMemStart = (rtemsFreeMemStart+CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *)rtemsFreeMemStart, HEAP_SIZE << 10, 0);
|
||||||
|
rtemsFreeMemStart += HEAP_SIZE << 10; /* HEAP_SIZE is in KBytes */
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
|
|
||||||
@@ -122,13 +96,6 @@ bsp_pretasking_hook(void)
|
|||||||
} /* bsp_pretasking_hook */
|
} /* bsp_pretasking_hook */
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------------+
|
/*-------------------------------------------------------------------------+
|
||||||
| Function: bsp_start
|
| Function: bsp_start
|
||||||
| Description: Called before main is invoked.
|
| Description: Called before main is invoked.
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -40,38 +35,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -87,23 +56,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/* set node number in SQSIO4 CTL REG */
|
/* set node number in SQSIO4 CTL REG */
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec vmeintr
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec vmeintr
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -39,38 +34,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -86,23 +55,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bsppost bspstart bspclean main sbrk setvec
|
C_PIECES=bsplibc bsppost bspstart bspclean main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -38,46 +33,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
/* extern int end; */
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) BSP_Configuration.work_space_start +
|
|
||||||
(rtems_unsigned32) BSP_Configuration.work_space_size;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
if (heap_start > (rtems_unsigned32) RAM_END) {
|
|
||||||
/* rtems_fatal_error_occurred can not be used before initalization */
|
|
||||||
RAW_PUTS("\n\rRTEMS: Out of memory.\n\r");
|
|
||||||
RAW_PUTS("RTEMS: Check RAM_END and the size of the work space.\n\r");
|
|
||||||
}
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start,
|
|
||||||
(RAM_END - heap_start), 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -93,23 +54,35 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
/* extern int end; */
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) BSP_Configuration.work_space_start +
|
||||||
|
(rtems_unsigned32) BSP_Configuration.work_space_size;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
if (heap_start > (rtems_unsigned32) RAM_END) {
|
||||||
|
/* rtems_fatal_error_occurred can not be used before initalization */
|
||||||
|
RAW_PUTS("\n\rRTEMS: Out of memory.\n\r");
|
||||||
|
RAW_PUTS("RTEMS: Check RAM_END and the size of the work space.\n\r");
|
||||||
|
}
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, (RAM_END - heap_start), 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
void *vbr;
|
void *vbr;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bsppost bspstart bspclean efi68k_tcp efi68k_wd main sbrk setvec
|
C_PIECES=bsplibc bsppost bspstart bspclean efi68k_tcp efi68k_wd main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -43,46 +38,12 @@ rtems_unsigned32 Timer_interrupts;
|
|||||||
extern void set_debug_traps(void);
|
extern void set_debug_traps(void);
|
||||||
extern void breakpoint(void);
|
extern void breakpoint(void);
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
/* extern int end; */
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) BSP_Configuration.work_space_start +
|
|
||||||
(rtems_unsigned32) BSP_Configuration.work_space_size;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
if (heap_start > (rtems_unsigned32) RAM_END) {
|
|
||||||
/* rtems_fatal_error_occurred can not be used before initalization */
|
|
||||||
RAW_PUTS("\n\rRTEMS: Out of memory.\n\r");
|
|
||||||
RAW_PUTS("RTEMS: Check RAM_END and the size of the work space.\n\r");
|
|
||||||
}
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start,
|
|
||||||
(RAM_END - heap_start), 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -98,24 +59,35 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
/* extern int end; */
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) BSP_Configuration.work_space_start +
|
||||||
|
(rtems_unsigned32) BSP_Configuration.work_space_size;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
if (heap_start > (rtems_unsigned32) RAM_END) {
|
||||||
|
/* rtems_fatal_error_occurred can not be used before initalization */
|
||||||
|
RAW_PUTS("\n\rRTEMS: Out of memory.\n\r");
|
||||||
|
RAW_PUTS("RTEMS: Check RAM_END and the size of the work space.\n\r");
|
||||||
|
}
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, (RAM_END - heap_start), 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
void *vbr;
|
void *vbr;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -39,45 +34,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -93,24 +55,29 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=alloc360 bspclean bsppost bspstart init68360 main sbrk setvec
|
C_PIECES=alloc360 bspclean bsplibc bsppost bspstart init68360 main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -39,41 +34,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern void *_HeapStart;
|
|
||||||
extern rtems_unsigned32 _HeapSize;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize(&_HeapStart, _HeapSize, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -89,23 +55,24 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern void *_HeapStart;
|
||||||
|
extern rtems_unsigned32 _HeapSize;
|
||||||
|
|
||||||
|
bsp_libc_init(&_HeapStart, _HeapSize, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
extern void *_WorkspaceBase;
|
extern void *_WorkspaceBase;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -46,39 +41,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/* Create 64 KByte memory region for RTEMS executive */
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -94,23 +62,29 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
/* Create 64 KByte memory region for RTEMS executive */
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -40,38 +35,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -87,10 +56,17 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
@@ -98,11 +74,11 @@ bsp_pretasking_hook(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -43,38 +38,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -90,24 +59,29 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -43,38 +38,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -90,24 +59,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main page_table sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main page_table sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -47,38 +42,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -94,24 +63,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
m68k_isr_entry *monitors_vector_table;
|
m68k_isr_entry *monitors_vector_table;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ PGM=${ARCH}/startup.rel
|
|||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=crc debugport gdb-hooks main m68302scc m68k-stub memcheck trace \
|
C_PIECES=crc debugport gdb-hooks main m68302scc m68k-stub memcheck trace \
|
||||||
bsppost bspstart bspclean sbrk setvec
|
bsplibc bsppost bspstart bspclean sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -40,45 +35,12 @@ rtems_interrupt_level bsp_isr_level;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -94,23 +56,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -48,47 +43,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBC_HEAP_SIZE (64 * 1024)
|
void bsp_postdriver_hook(void);
|
||||||
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
void bsp_libc_init()
|
|
||||||
{
|
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, LIBC_HEAP_SIZE, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -104,24 +64,32 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
#define LIBC_HEAP_SIZE (64 * 1024)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, LIBC_HEAP_SIZE, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
extern int end; /* defined by linker */
|
extern int end; /* defined by linker */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
|
*/
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec inittlb
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec inittlb
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -48,47 +43,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBC_HEAP_SIZE (64 * 1024)
|
void bsp_postdriver_hook(void);
|
||||||
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
void bsp_libc_init()
|
|
||||||
{
|
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, LIBC_HEAP_SIZE, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -104,24 +64,32 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
#define LIBC_HEAP_SIZE (64 * 1024)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, LIBC_HEAP_SIZE, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
extern int end; /* defined by linker */
|
extern int end; /* defined by linker */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
|
*/
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -40,45 +35,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -94,23 +56,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
int bsp_start(
|
int bsp_start(
|
||||||
int argc,
|
int argc,
|
||||||
char **argv,
|
char **argv,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
*
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* Author: Andrew Bray <andy@i-cubed.co.uk>
|
* Author: Andrew Bray <andy@i-cubed.co.uk>
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1995 by i-cubed ltd.
|
* COPYRIGHT (c) 1995 by i-cubed ltd.
|
||||||
@@ -57,46 +53,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init()
|
void bsp_postdriver_hook(void);
|
||||||
{
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
extern int _end;
|
|
||||||
rtems_unsigned32 heap_start;
|
|
||||||
|
|
||||||
heap_start = (rtems_unsigned32) &_end;
|
|
||||||
if (heap_start & (CPU_ALIGNMENT-1))
|
|
||||||
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, 64 * 1024, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -112,24 +74,28 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
extern int _end;
|
||||||
|
rtems_unsigned32 heap_start;
|
||||||
|
|
||||||
|
heap_start = (rtems_unsigned32) &_end;
|
||||||
|
if (heap_start & (CPU_ALIGNMENT-1))
|
||||||
|
heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
|
||||||
|
|
||||||
|
bsp_libc_init((void *) heap_start, 64 * 1024, 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start( void )
|
void bsp_start( void )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -6,13 +6,13 @@
|
|||||||
* The tick frequency is directly programmed to the configured number of
|
* The tick frequency is directly programmed to the configured number of
|
||||||
* microseconds per tick.
|
* microseconds per tick.
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994, 1997.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -19,13 +19,13 @@
|
|||||||
*
|
*
|
||||||
* Derived from c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h
|
* Derived from c/src/lib/libbsp/no_cpu/no_bsp/include/bsp.h
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -14,13 +14,13 @@
|
|||||||
* NOTE: If these are all zero, then the times reported include
|
* NOTE: If these are all zero, then the times reported include
|
||||||
* all calling overhead including passing of arguments.
|
* all calling overhead including passing of arguments.
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,4 +3,5 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
This shared memory driver support code works with a modified version
|
This shared memory driver support code works with a modified version
|
||||||
of the PowerPC Sim
|
of the PowerPC Simulator. The modifications are not yet merged
|
||||||
|
into the mainsteam distribution.
|
||||||
|
|||||||
@@ -8,12 +8,12 @@
|
|||||||
* Output parameters:
|
* Output parameters:
|
||||||
* returns - converted address
|
* returns - converted address
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989-1997.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* The license and distribution terms for this file may in
|
* The license and distribution terms for this file may be
|
||||||
* the file LICENSE in this distribution or at
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* http://www.OARcorp.com/rtems/license.html.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
|
|||||||
@@ -12,12 +12,12 @@
|
|||||||
*
|
*
|
||||||
* NOTES: No interrupt support.
|
* NOTES: No interrupt support.
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989-1997.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* The license and distribution terms for this file may in
|
* The license and distribution terms for this file may be
|
||||||
* the file LICENSE in this distribution or at
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* http://www.OARcorp.com/rtems/license.html.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,19 +1,16 @@
|
|||||||
/* bspstart.c
|
/*
|
||||||
*
|
|
||||||
* This set of routines starts the application. It includes application,
|
* This set of routines starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before any of these are invoked.
|
* before any of these are invoked.
|
||||||
*
|
*
|
||||||
* Called by RTEMS::RTEMS constructor in rtems-ctor.cc
|
* COPYRIGHT (c) 1989-1998.
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994, 1997.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* All rights assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
@@ -68,9 +65,10 @@ rtems_unsigned32 CPU_PPC_CLICKS_PER_TICK;
|
|||||||
* approximately 5 seconds of wall time.
|
* approximately 5 seconds of wall time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rtems_extension
|
rtems_extension fast_idle_switch_hook(
|
||||||
fast_idle_switch_hook(rtems_tcb *current_task,
|
rtems_tcb *current_task,
|
||||||
rtems_tcb *heir_task)
|
rtems_tcb *heir_task
|
||||||
|
)
|
||||||
{
|
{
|
||||||
static rtems_unsigned32 normal_clock = ~0;
|
static rtems_unsigned32 normal_clock = ~0;
|
||||||
static rtems_unsigned32 fast_clock;
|
static rtems_unsigned32 fast_clock;
|
||||||
@@ -100,12 +98,20 @@ fast_idle_switch_hook(rtems_tcb *current_task,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bsp_libc_init
|
* Use the shared implementations of the following routines
|
||||||
*
|
|
||||||
* Initialize whatever libc we are using called from bsp_postdriver_hook.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init(void)
|
void bsp_postdriver_hook(void);
|
||||||
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bsp_pretasking_hook
|
||||||
|
*
|
||||||
|
* BSP pretasking hook. Called just before drivers are initialized.
|
||||||
|
* Used to setup libc and install any BSP extensions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
extern int end;
|
extern int end;
|
||||||
rtems_unsigned32 heap_start;
|
rtems_unsigned32 heap_start;
|
||||||
@@ -118,38 +124,7 @@ void bsp_libc_init(void)
|
|||||||
heap_size = BSP_Configuration.work_space_start - (void *)&end;
|
heap_size = BSP_Configuration.work_space_start - (void *)&end;
|
||||||
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, heap_size, 0);
|
bsp_libc_init((void *) heap_start, heap_size, 0);
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* bsp_pretasking_hook
|
|
||||||
*
|
|
||||||
* BSP pretasking hook. Called just before drivers are initialized.
|
|
||||||
* Used to setup libc and install any BSP extensions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_pretasking_hook(void)
|
|
||||||
{
|
|
||||||
bsp_libc_init();
|
|
||||||
|
|
||||||
#if PSIM_FAST_IDLE
|
#if PSIM_FAST_IDLE
|
||||||
/*
|
/*
|
||||||
@@ -187,12 +162,6 @@ void bsp_pretasking_hook(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bsp_start
|
* bsp_start
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,3 +1,16 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* COPYRIGHT (c) 1989-1998.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
|
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc",
|
||||||
"elf32-powerpc")
|
"elf32-powerpc")
|
||||||
OUTPUT_ARCH(powerpc)
|
OUTPUT_ARCH(powerpc)
|
||||||
|
|||||||
@@ -29,13 +29,13 @@
|
|||||||
*
|
*
|
||||||
* Derived from c/src/lib/libbsp/no_cpu/no_bsp/startup/setvec.c:
|
* Derived from c/src/lib/libbsp/no_cpu/no_bsp/startup/setvec.c:
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* $Id$
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -3,13 +3,13 @@
|
|||||||
* This file implements a benchmark timer using the General Purpose Timer on
|
* This file implements a benchmark timer using the General Purpose Timer on
|
||||||
* the MEC.
|
* the MEC.
|
||||||
*
|
*
|
||||||
* COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* All rights assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
*
|
*
|
||||||
* This material may be reproduced by or for the U.S. Government pursuant
|
* The license and distribution terms for this file may be
|
||||||
* to the copyright license under the clause at DFARS 252.227-7013. This
|
* found in found in the file LICENSE in this distribution or at
|
||||||
* notice must appear in all copies of this file and its derivatives.
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
*
|
*
|
||||||
* Ported to ERC32 implementation of the SPARC by On-Line Applications
|
* Ported to ERC32 implementation of the SPARC by On-Line Applications
|
||||||
* Research Corporation (OAR) under contract to the European Space
|
* Research Corporation (OAR) under contract to the European Space
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
#
|
#
|
||||||
# Shell script to ease invocation of the powerpc simulator
|
# Shell script to ease invocation of the powerpc simulator
|
||||||
#
|
#
|
||||||
|
# COPYRIGHT (c) 1989-1998.
|
||||||
|
# On-Line Applications Research Corporation (OAR).
|
||||||
|
# Copyright assigned to U.S. Government, 1994.
|
||||||
|
#
|
||||||
|
# The license and distribution terms for this file may be
|
||||||
|
# found in found in the file LICENSE in this distribution or at
|
||||||
|
# http://www.OARcorp.com/rtems/license.html.
|
||||||
|
#
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,20 @@
|
|||||||
#!/bin/sh -p
|
#!/bin/sh -p
|
||||||
#
|
#
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# Run rtems tests on the powerpc simulator
|
# Run rtems tests on the powerpc simulator
|
||||||
# This program generates a simulator script to run each test
|
# This program generates a simulator script to run each test
|
||||||
# Typically the test is then run, although it can be generated
|
# Typically the test is then run, although it can be generated
|
||||||
# and left as a file using -s
|
# and left as a file using -s
|
||||||
#
|
#
|
||||||
|
# COPYRIGHT (c) 1989-1998.
|
||||||
|
# On-Line Applications Research Corporation (OAR).
|
||||||
|
# Copyright assigned to U.S. Government, 1994.
|
||||||
|
#
|
||||||
|
# The license and distribution terms for this file may be
|
||||||
|
# found in found in the file LICENSE in this distribution or at
|
||||||
|
# http://www.OARcorp.com/rtems/license.html.
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
# progname=`basename $0`
|
# progname=`basename $0`
|
||||||
progname=${0##*/} # fast basename hack for ksh, bash
|
progname=${0##*/} # fast basename hack for ksh, bash
|
||||||
|
|||||||
@@ -1,8 +1,17 @@
|
|||||||
/* vectors.s 1.1 - 95/12/04
|
/* vectors.s 1.1 - 95/12/04
|
||||||
*
|
*
|
||||||
* This file contains the assembly code for the PowerPC
|
* This file contains the assembly code for the PowerPC
|
||||||
* interrupt veneers for RTEMS.
|
* interrupt vectors for RTEMS.
|
||||||
*
|
*
|
||||||
|
* COPYRIGHT (c) 1989-1998.
|
||||||
|
* On-Line Applications Research Corporation (OAR).
|
||||||
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.OARcorp.com/rtems/license.html.
|
||||||
|
*
|
||||||
|
* $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -21,8 +30,6 @@
|
|||||||
* The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
|
* The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
|
||||||
* offset from 0x????0000 to the first location in the file. This
|
* offset from 0x????0000 to the first location in the file. This
|
||||||
* will usually be 0x0000 or 0x0100.
|
* will usually be 0x0000 or 0x0100.
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "asm.h"
|
#include "asm.h"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bsppost bspstart bspclean sbrk setvec main
|
C_PIECES=bsplibc bsppost bspstart bspclean sbrk setvec main
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,9 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before this routine is invoked.
|
* before this routine is invoked.
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and
|
* Authors: Ralf Corsepius (corsepiu@faw.uni-ulm.de) and
|
||||||
* Bernd Becker (becker@faw.uni-ulm.de)
|
* Bernd Becker (becker@faw.uni-ulm.de)
|
||||||
*
|
*
|
||||||
@@ -50,39 +45,12 @@ rtems_cpu_table Cpu_table;
|
|||||||
|
|
||||||
char *rtems_progname;
|
char *rtems_progname;
|
||||||
|
|
||||||
/* Initialize whatever libc we are using
|
/*
|
||||||
* called from postdriver hook
|
* Use the shared implementations of the following routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void bsp_postdriver_hook(void);
|
||||||
void bsp_libc_init()
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
{
|
|
||||||
/*
|
|
||||||
* The last parameter to RTEMS_Malloc_Initialize is the "chunk"
|
|
||||||
* size which a multiple of will be requested on each sbrk()
|
|
||||||
* call by malloc(). A value of 0 indicates that sbrk() should
|
|
||||||
* not be called to extend the heap.
|
|
||||||
*/
|
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize(&HeapStart, sizeof(unsigned32) * (&HeapEnd - &HeapStart), 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_pretasking_hook
|
* Function: bsp_pretasking_hook
|
||||||
@@ -97,10 +65,9 @@ void bsp_libc_init()
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_pretasking_hook(void)
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
{
|
||||||
bsp_libc_init();
|
bsp_libc_init((&HeapStart, sizeof(unsigned32) * (&HeapEnd - &HeapStart), 0);
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
@@ -108,12 +75,11 @@ bsp_pretasking_hook(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
* bsp_start
|
||||||
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
void bsp_start(void)
|
void bsp_start(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
|
|||||||
PGM=${ARCH}/startup.rel
|
PGM=${ARCH}/startup.rel
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bsppost bspstart main sbrk setvec spurious
|
C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec spurious
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,9 @@
|
|||||||
/* bspstart.c
|
/*
|
||||||
*
|
|
||||||
* This set of routines starts the application. It includes application,
|
* This set of routines starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
* before any of these are invoked.
|
* before any of these are invoked.
|
||||||
*
|
*
|
||||||
* Called by RTEMS::RTEMS constructor in rtems-ctor.cc
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -41,7 +38,6 @@ extern rtems_configuration_table Configuration;
|
|||||||
rtems_configuration_table BSP_Configuration;
|
rtems_configuration_table BSP_Configuration;
|
||||||
|
|
||||||
rtems_cpu_table Cpu_table;
|
rtems_cpu_table Cpu_table;
|
||||||
rtems_unsigned32 bsp_isr_level;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tells us where to put the workspace in case remote debugger is present.
|
* Tells us where to put the workspace in case remote debugger is present.
|
||||||
@@ -72,9 +68,10 @@ rtems_unsigned32 CPU_SPARC_CLICKS_PER_TICK;
|
|||||||
* approximately 5 seconds of wall time.
|
* approximately 5 seconds of wall time.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rtems_extension
|
rtems_extension fast_idle_switch_hook(
|
||||||
fast_idle_switch_hook(rtems_tcb *current_task,
|
rtems_tcb *current_task,
|
||||||
rtems_tcb *heir_task)
|
rtems_tcb *heir_task
|
||||||
|
)
|
||||||
{
|
{
|
||||||
static rtems_unsigned32 normal_clock = ~0;
|
static rtems_unsigned32 normal_clock = ~0;
|
||||||
static rtems_unsigned32 fast_clock;
|
static rtems_unsigned32 fast_clock;
|
||||||
@@ -101,12 +98,20 @@ fast_idle_switch_hook(rtems_tcb *current_task,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bsp_libc_init
|
* Use the shared implementations of the following routines
|
||||||
*
|
|
||||||
* Initialize whatever libc we are using called from bsp_postdriver_hook.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void bsp_libc_init(void)
|
void bsp_postdriver_hook(void);
|
||||||
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bsp_pretasking_hook
|
||||||
|
*
|
||||||
|
* BSP pretasking hook. Called just before drivers are initialized.
|
||||||
|
* Used to setup libc and install any BSP extensions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
extern int end;
|
extern int end;
|
||||||
rtems_unsigned32 heap_start;
|
rtems_unsigned32 heap_start;
|
||||||
@@ -119,38 +124,8 @@ void bsp_libc_init(void)
|
|||||||
heap_size = BSP_Configuration.work_space_start - (void *)&end;
|
heap_size = BSP_Configuration.work_space_start - (void *)&end;
|
||||||
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
heap_size &= 0xfffffff0; /* keep it as a multiple of 16 bytes */
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *) heap_start, heap_size, 0);
|
bsp_libc_init((void *) heap_start, heap_size, 0);
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up for the libc handling.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (BSP_Configuration.ticks_per_timeslice > 0)
|
|
||||||
libc_init(1); /* reentrant if possible */
|
|
||||||
else
|
|
||||||
libc_init(0); /* non-reentrant */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* bsp_pretasking_hook
|
|
||||||
*
|
|
||||||
* BSP pretasking hook. Called just before drivers are initialized.
|
|
||||||
* Used to setup libc and install any BSP extensions.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_pretasking_hook(void)
|
|
||||||
{
|
|
||||||
bsp_libc_init();
|
|
||||||
|
|
||||||
#if SIMSPARC_FAST_IDLE
|
#if SIMSPARC_FAST_IDLE
|
||||||
/*
|
/*
|
||||||
@@ -188,13 +163,6 @@ void bsp_pretasking_hook(void)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Use the shared bsp_postdriver_hook() implementation
|
|
||||||
*/
|
|
||||||
|
|
||||||
void bsp_postdriver_hook(void);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* bsp_start
|
* bsp_start
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ PGM=${ARCH}/startup.rel
|
|||||||
NO_CTOR_LIB=${ARCH}/libno-ctor.a
|
NO_CTOR_LIB=${ARCH}/libno-ctor.a
|
||||||
|
|
||||||
# C source names, if any, go here -- minus the .c
|
# C source names, if any, go here -- minus the .c
|
||||||
C_PIECES=bspclean bspstart setvec
|
C_PIECES=bspclean bsplibc bspstart setvec
|
||||||
C_FILES=$(C_PIECES:%=%.c)
|
C_FILES=$(C_PIECES:%=%.c)
|
||||||
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
/* bsp_start()
|
/*
|
||||||
*
|
|
||||||
* This routine starts the application. It includes application,
|
* This routine starts the application. It includes application,
|
||||||
* board, and monitor specific initialization and configuration.
|
* board, and monitor specific initialization and configuration.
|
||||||
* The generic CPU dependent initialization has been performed
|
* The generic CPU dependent initialization has been performed
|
||||||
@@ -7,10 +6,6 @@
|
|||||||
*
|
*
|
||||||
* Called by RTEMS::RTEMS constructor in startup-ctor.cc
|
* Called by RTEMS::RTEMS constructor in startup-ctor.cc
|
||||||
*
|
*
|
||||||
* INPUT: NONE
|
|
||||||
*
|
|
||||||
* OUTPUT: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1998.
|
* COPYRIGHT (c) 1989-1998.
|
||||||
* On-Line Applications Research Corporation (OAR).
|
* On-Line Applications Research Corporation (OAR).
|
||||||
* Copyright assigned to U.S. Government, 1994.
|
* Copyright assigned to U.S. Government, 1994.
|
||||||
@@ -68,32 +63,26 @@ char **rtems_argv;
|
|||||||
rtems_unsigned32 CPU_CLICKS_PER_TICK;
|
rtems_unsigned32 CPU_CLICKS_PER_TICK;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_libc_init
|
* Use the shared implementations of the following routines
|
||||||
* Created: 94/12/6
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* Initialize whatever libc we are using
|
|
||||||
* called from bsp_postdriver_hook
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
* none
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
* none.
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_postdriver_hook(void);
|
||||||
bsp_libc_init(void)
|
void bsp_libc_init( void *, unsigned32, int );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Function: bsp_pretasking_hook
|
||||||
|
* Created: 95/03/10
|
||||||
|
*
|
||||||
|
* Description:
|
||||||
|
* BSP pretasking hook. Called just before drivers are initialized.
|
||||||
|
* Used to setup libc and install any BSP extensions.
|
||||||
|
*
|
||||||
|
* NOTES:
|
||||||
|
* Must not use libc (to do io) from here, since drivers are
|
||||||
|
* not yet initialized.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void bsp_pretasking_hook(void)
|
||||||
{
|
{
|
||||||
void *heap_start;
|
void *heap_start;
|
||||||
|
|
||||||
@@ -104,50 +93,8 @@ bsp_libc_init(void)
|
|||||||
|
|
||||||
heap_start = 0;
|
heap_start = 0;
|
||||||
|
|
||||||
RTEMS_Malloc_Initialize((void *)heap_start, Heap_size, 1024 * 1024);
|
bsp_libc_init((void *)heap_start, Heap_size, 1024 * 1024);
|
||||||
|
|
||||||
/*
|
|
||||||
* Init the RTEMS libio facility to provide UNIX-like system
|
|
||||||
* calls for use by newlib (ie: provide __rtems_open, __rtems_close, etc)
|
|
||||||
* Uses malloc() to get area for the iops, so must be after malloc init
|
|
||||||
*/
|
|
||||||
|
|
||||||
rtems_libio_init();
|
|
||||||
|
|
||||||
libc_init(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function: bsp_pretasking_hook
|
|
||||||
* Created: 95/03/10
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* BSP pretasking hook. Called just before drivers are initialized.
|
|
||||||
* Used to setup libc and install any BSP extensions.
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
* none
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
* nada
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
* installs a few extensions
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
* Must not use libc (to do io) from here, since drivers are
|
|
||||||
* not yet initialized.
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
void
|
|
||||||
bsp_pretasking_hook(void)
|
|
||||||
{
|
|
||||||
bsp_libc_init();
|
|
||||||
|
|
||||||
#ifdef RTEMS_DEBUG
|
#ifdef RTEMS_DEBUG
|
||||||
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
|
||||||
@@ -165,40 +112,18 @@ bsp_pretasking_hook(void)
|
|||||||
* DO NOT Use the shared bsp_postdriver_hook() implementation
|
* DO NOT Use the shared bsp_postdriver_hook() implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_postdriver_hook(void)
|
||||||
bsp_postdriver_hook(void)
|
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function: bsp_start
|
* bsp_start
|
||||||
* Created: 94/12/6
|
|
||||||
*
|
|
||||||
* Description:
|
|
||||||
* called by crt0 as our "main" equivalent
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Parameters:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Returns:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Side Effects:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Notes:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Deficiencies/ToDo:
|
|
||||||
*
|
|
||||||
*
|
*
|
||||||
|
* This routine does the bulk of the system initialization.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
void bsp_start(void)
|
||||||
bsp_start(void)
|
|
||||||
{
|
{
|
||||||
unsigned32 workspace_ptr;
|
unsigned32 workspace_ptr;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user