summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/system.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/include/rtems/system.h')
-rw-r--r--cpukit/score/include/rtems/system.h115
1 files changed, 79 insertions, 36 deletions
diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h
index 27b6ecd432..59d5b293af 100644
--- a/cpukit/score/include/rtems/system.h
+++ b/cpukit/score/include/rtems/system.h
@@ -7,7 +7,7 @@
*/
/*
- * COPYRIGHT (c) 1989-2004.
+ * COPYRIGHT (c) 1989-2006.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -24,12 +24,22 @@
extern "C" {
#endif
-/*
- * Major, minor, revision version numbers of RTEMS.
- * Use these macros to test for features in specific releases.
+/** This macro defines the major version portion of an RTEMS release.
+ *
+ * @note Use this macros to test for features in specific releases.
*/
#define __RTEMS_MAJOR__ 4
+
+/** This macro defines the minor version portion of an RTEMS release.
+ *
+ * @note Use this macros to test for features in specific releases.
+ */
#define __RTEMS_MINOR__ 6
+
+/** This macro defines the revision version portion of an RTEMS release.
+ *
+ * @note Use this macros to test for features in specific releases.
+ */
#define __RTEMS_REVISION__ 99
/*
@@ -37,16 +47,14 @@ extern "C" {
* parameters for this build of RTEMS. It must be included
* first so the basic macro definitions are in place.
*/
-
#include <rtems/score/cpuopts.h>
-/*
+/**
* The following ensures that all data is declared in the space
* of the initialization routine for either the Initialization Manager
* or the initialization file for the appropriate API. It is
* referenced as "external" in every other file.
*/
-
#ifdef SCORE_INIT
#undef SCORE_EXTERN
#define SCORE_EXTERN
@@ -55,6 +63,12 @@ extern "C" {
#define SCORE_EXTERN extern
#endif
+/**
+ * The following ensures that all data is declared in the space
+ * of the initialization routine for either the Initialization Manager
+ * or the initialization file for the appropriate API. It is
+ * referenced as "external" in every other file.
+ */
#ifdef SAPI_INIT
#undef SAPI_EXTERN
#define SAPI_EXTERN
@@ -63,6 +77,12 @@ extern "C" {
#define SAPI_EXTERN extern
#endif
+/**
+ * The following ensures that all data is declared in the space
+ * of the initialization routine for either the Initialization Manager
+ * or the initialization file for the appropriate API. It is
+ * referenced as "external" in every other file.
+ */
#ifdef RTEMS_API_INIT
#undef RTEMS_EXTERN
#define RTEMS_EXTERN
@@ -71,6 +91,12 @@ extern "C" {
#define RTEMS_EXTERN extern
#endif
+/**
+ * The following ensures that all data is declared in the space
+ * of the initialization routine for either the Initialization Manager
+ * or the initialization file for the appropriate API. It is
+ * referenced as "external" in every other file.
+ */
#ifdef POSIX_API_INIT
#undef POSIX_EXTERN
#define POSIX_EXTERN
@@ -79,6 +105,12 @@ extern "C" {
#define POSIX_EXTERN extern
#endif
+/**
+ * The following ensures that all data is declared in the space
+ * of the initialization routine for either the Initialization Manager
+ * or the initialization file for the appropriate API. It is
+ * referenced as "external" in every other file.
+ */
#ifdef ITRON_API_INIT
#undef ITRON_EXTERN
#define ITRON_EXTERN
@@ -87,13 +119,12 @@ extern "C" {
#define ITRON_EXTERN extern
#endif
-/*
+/**
* The following (in conjunction with compiler arguments) are used
* to choose between the use of static inline functions and macro
* functions. The static inline implementation allows better
* type checking with no cost in code size or execution speed.
*/
-
#ifdef RTEMS_INLINES
# ifdef __GNUC__
# define RTEMS_INLINE_ROUTINE static __inline__
@@ -104,13 +135,14 @@ extern "C" {
# define RTEMS_INLINE_ROUTINE
#endif
-/*
- * The following are used by the POSIX implementation to catch bad paths.
- */
-
#ifdef RTEMS_POSIX_API
+/** The following is used by the POSIX implementation to catch bad paths. */
int POSIX_MP_NOT_IMPLEMENTED( void );
+
+/** The following is used by the POSIX implementation to catch bad paths. */
int POSIX_NOT_IMPLEMENTED( void );
+
+/** The following is used by the POSIX implementation to catch bad paths. */
int POSIX_BOTTOM_REACHED( void );
#endif
@@ -118,24 +150,21 @@ int POSIX_BOTTOM_REACHED( void );
* Include a base set of files.
*/
-/*
+/**
* XXX: Eventually proc_ptr needs to disappear!!!
*/
-
typedef void * proc_ptr;
#include <stddef.h>
-/*
- * Boolean constants
- */
-
#if !defined( TRUE ) || (TRUE != 1)
+/** Boolean constant TRUE */
#undef TRUE
#define TRUE (1)
#endif
#if !defined( FALSE ) || (FALSE != 0)
+/** Boolean constant TRUE */
#undef FALSE
#define FALSE (0)
#endif
@@ -143,67 +172,81 @@ typedef void * proc_ptr;
#include <rtems/stdint.h>
#include <rtems/score/cpu.h> /* processor specific information */
+/**
+ * This macro is used to obtain the offset of a field in a structure.
+ */
#define RTEMS_offsetof(type, field) \
- ((uint32_t ) &(((type *) 0)->field))
+ ((uint32_t ) &(((type *) 0)->field))
-/*
+/**
* The following is the extern for the RTEMS version string.
- * The contents of this string are CPU specific.
+ *
+ * @note The contents of this string are CPU specific.
*/
+extern const char _RTEMS_version[];
-extern const char _RTEMS_version[]; /* RTEMS version string */
-extern const char _Copyright_Notice[]; /* RTEMS copyright string */
+/**
+ * The following is the extern for the RTEMS copyright string.
+ */
+extern const char _Copyright_Notice[];
-/*
+/**
* The following defines the CPU dependent information table.
*/
-
-SCORE_EXTERN rtems_cpu_table _CPU_Table; /* CPU dependent info */
+SCORE_EXTERN rtems_cpu_table _CPU_Table;
/*
* Macros to access CPU Table fields required by ALL ports.
- *
- * @note Similar macros to access port specific fields in in the
- * appropriate cpu.h file.
*/
-#define rtems_cpu_configuration_get_table() \
- (&_CPU_Table)
+/** This macro assists in accessing the CPU Specific Configuration Table. */
+#define rtems_cpu_configuration_get_table() (&_CPU_Table)
+
+/** This macro assists in accessing the pretasking BSP hook. */
#define rtems_cpu_configuration_get_pretasking_hook() \
(_CPU_Table.pretasking_hook)
+/** This macro assists in accessing the predriver BSP hook. */
#define rtems_cpu_configuration_get_predriver_hook() \
(_CPU_Table.predriver_hook)
+/** This macro assists in accessing the postdriver BSP hook. */
#define rtems_cpu_configuration_get_postdriver_hook() \
(_CPU_Table.postdriver_hook)
+/** This macro assists in accessing the BSP specific IDLE task entry point. */
#define rtems_cpu_configuration_get_idle_task() \
(_CPU_Table.idle_task)
+/**
+ * This macro assists in accessing the field which indicates whether
+ * RTEMS is responsible for zeroing the Executive Workspace.
+ */
#define rtems_cpu_configuration_get_do_zero_of_workspace() \
(_CPU_Table.do_zero_of_workspace)
+/** This macro assists in accessing the IDLE task stack point size. */
#define rtems_cpu_configuration_get_idle_task_stack_size() \
(_CPU_Table.idle_task_stack_size)
+/** This macro assists in accessing the interrupt stack size. */
#define rtems_cpu_configuration_get_interrupt_stack_size() \
(_CPU_Table.interrupt_stack_size)
+/** This macro assists in accessing the size of the MPCI receiver server. */
#define rtems_cpu_configuration_get_extra_mpci_receive_server_stack() \
(_CPU_Table.extra_mpci_receive_server_stack)
+/** This macro assists in accessing the BSP stack allocation hook. */
#define rtems_cpu_configuration_get_stack_allocate_hook() \
(_CPU_Table.stack_allocate_hook)
+/** This macro assists in accessing the BSP stack allocation free hook. */
#define rtems_cpu_configuration_get_stack_free_hook() \
(_CPU_Table.stack_free_hook)
-/*
- * XXX weird RTEMS stuff that probably should be somewhere else.
- */
-
+/** This macro defines the maximum length of a Classic API name. */
#define RTEMS_MAXIMUM_NAME_LENGTH sizeof(rtems_name)
#ifdef __cplusplus