diff options
Diffstat (limited to 'c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c b/c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c index 66ead73dae..65090a03ac 100644 --- a/c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c @@ -101,14 +101,41 @@ void bsp_libc_init() else libc_init(0); /* non-reentrant */ +} + +/* + * 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) +{ + bsp_libc_init(); + +#ifdef STACK_CHECKER_ON /* * Initialize the stack bounds checker + * We can either turn it on here or from the app. */ - -#ifdef STACK_CHECKER_ON + Stack_check_Initialize(); #endif + +#ifdef RTEMS_DEBUG + rtems_debug_enable( RTEMS_DEBUG_ALL_MASK ); +#endif } + /* * After drivers are setup, register some "filenames" @@ -204,13 +231,9 @@ int main( * initialize the CPU table for this BSP */ - /* - * we do not use the pretasking_hook - */ - - Cpu_table.pretasking_hook = NULL; + Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */ - Cpu_table.predriver_hook = bsp_libc_init; /* RTEMS resources available */ + Cpu_table.predriver_hook = NULL; Cpu_table.postdriver_hook = bsp_postdriver_hook; |