summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/efi68k/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-15 15:13:01 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-15 15:13:01 +0000
commitb6394ae43432a3c69f1737d1ed1e23db8e7896ba (patch)
treea7f1ad9907ad430f3a3037ef606ba1bfc5ceb386 /c/src/lib/libbsp/m68k/efi68k/startup
parentStack checker now enabled via initial set of user extensions. This (diff)
downloadrtems-b6394ae43432a3c69f1737d1ed1e23db8e7896ba.tar.bz2
Transitioned to shared bsp_libc_init() and cleaned up comments.
Diffstat (limited to 'c/src/lib/libbsp/m68k/efi68k/startup')
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in2
-rw-r--r--c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c78
2 files changed, 26 insertions, 54 deletions
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in
index 13e0a5ae50..5925adedb4 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/Makefile.in
@@ -11,7 +11,7 @@ PROJECT_ROOT = @PROJECT_ROOT@
PGM=${ARCH}/startup.rel
# 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_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
diff --git a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
index 6b53e5fc11..8c382683b5 100644
--- a/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
+++ b/c/src/lib/libbsp/m68k/efi68k/startup/bspstart.c
@@ -1,14 +1,9 @@
-/* bsp_start()
- *
+/*
* This routine starts the application. It includes application,
* board, and monitor specific initialization and configuration.
* The generic CPU dependent initialization has been performed
* before this routine is invoked.
*
- * INPUT: NONE
- *
- * OUTPUT: NONE
- *
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
@@ -43,47 +38,13 @@ rtems_unsigned32 Timer_interrupts;
extern void set_debug_traps(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()
-{
-/* 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 */
-}
+void bsp_postdriver_hook(void);
+void bsp_libc_init( void *, unsigned32, int );
+
/*
* Function: bsp_pretasking_hook
* Created: 95/03/10
@@ -98,23 +59,34 @@ void bsp_libc_init()
*
*/
-void
-bsp_pretasking_hook(void)
+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
rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
#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 )
{