summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems/init.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-12 18:40:59 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-12 18:40:59 +0000
commitd86ae064a0774d877311e5a1ed0eda1fd72d0575 (patch)
treed5962696f37e8a486ea454bf54f5033b15a6d209 /cpukit/sapi/include/rtems/init.h
parent2008-05-10 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-d86ae064a0774d877311e5a1ed0eda1fd72d0575.tar.bz2
2008-05-12 Joel Sherrill <joel.sherrill@OARcorp.com>
* sapi/include/rtems/init.h, sapi/src/exinit.c: Refactored and renamed initialization routines to rtems_initialize_data_structures, rtems_initialize_before_drivers, rtems_initialize_device_drivers, and rtems_initialize_start_multitasking. This opened the sequence up so that bootcard() could provide a more robust and flexible framework which is easier to explain and understand. This also lays the groundwork for sharing the division of available memory between the RTEMS workspace and heap and the C library initialization across all BSPs.
Diffstat (limited to 'cpukit/sapi/include/rtems/init.h')
-rw-r--r--cpukit/sapi/include/rtems/init.h50
1 files changed, 27 insertions, 23 deletions
diff --git a/cpukit/sapi/include/rtems/init.h b/cpukit/sapi/include/rtems/init.h
index a3e604fc80..bf0fb7fa6a 100644
--- a/cpukit/sapi/include/rtems/init.h
+++ b/cpukit/sapi/include/rtems/init.h
@@ -37,47 +37,52 @@ extern "C" {
#include <rtems/rtems/intr.h>
#if defined(RTEMS_MULTIPROCESSING)
-/*
+/**
* The following defines the default Multiprocessing Configuration
* Table. This table is used in a single processor system.
*/
-
extern const rtems_multiprocessing_table
_Initialization_Default_multiprocessing_table;
#endif
-/*
- * rtems_initialize_executive_early
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_initialize_data_structures
*
- * This routine implements the early portion of rtems_initialize_executive
- * directive up to the pretasking hook. This directive is invoked at system
- * startup to initialize the RTEMS multitasking environment.
+ * This routine implements the portion of the RTEMS initializatin process
+ * that involves initializing data structures to a state that scheduling
+ * can occur in a consistent manner.
*/
-
-rtems_interrupt_level rtems_initialize_executive_early(
+void rtems_initialize_data_structures(
rtems_configuration_table *configuration_table
);
-/*
- * rtems_initialize_executive_late
+/**
+ * @brief rtems_initialize_before_drivers
*
- * DESCRIPTION:
+ * This routine implements the portion of RTEMS initialization that
+ * is done immediately before device drivers are initialized.
+ */
+void rtems_initialize_before_drivers(void);
+
+/**
+ * @brief rtems_initialize_device_drivers
+ *
+ * This routine implements the portion of RTEMS initialization that
+ * initializes all device drivers.
+ */
+void rtems_initialize_device_drivers(void);
+
+/**
+ * @brief rtems_initialize_start_multitasking
*
* This routine implements the early portion of rtems_initialize_executive
* directive up to the pretasking hook. This directive is invoked at system
* startup to initialize the RTEMS multitasking environment.
*/
+void rtems_initialize_start_multitasking(void);
-void rtems_initialize_executive_late(
- rtems_interrupt_level bsp_level
-);
-
-/*
- * rtems_shutdown_executive
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_shutdown_executive
*
* This routine implements the rtems_shutdown_executive directive. The
* invocation of this directive results in the RTEMS environment being
@@ -85,7 +90,6 @@ void rtems_initialize_executive_late(
* invocation of this directive results in the rtems_initialize_executive
* directive exitting to the startup code which invoked it.
*/
-
void rtems_shutdown_executive(
uint32_t result
);