summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c')
-rw-r--r--c/src/lib/libbsp/powerpc/papyrus/startup/bspstart.c39
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;