diff options
Diffstat (limited to 'cpukit/score/include/rtems/system.h')
-rw-r--r-- | cpukit/score/include/rtems/system.h | 115 |
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 |