diff options
Diffstat (limited to '')
238 files changed, 3638 insertions, 10301 deletions
diff --git a/c/src/exec/libcsupport/src/newlibc.c b/c/src/exec/libcsupport/src/newlibc.c index 54c7ac048d..ddcb961015 100644 --- a/c/src/exec/libcsupport/src/newlibc.c +++ b/c/src/exec/libcsupport/src/newlibc.c @@ -39,6 +39,7 @@ * */ +#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ #include <rtems.h> #include <libcsupport.h> #include <stdlib.h> /* for free() */ diff --git a/c/src/exec/rtems/headers/asr.h b/c/src/exec/rtems/headers/asr.h index 55eed78ec2..31758fc06b 100644 --- a/c/src/exec/rtems/headers/asr.h +++ b/c/src/exec/rtems/headers/asr.h @@ -100,75 +100,9 @@ typedef struct { #define RTEMS_SIGNAL_30 0x40000000 #define RTEMS_SIGNAL_31 0x80000000 -/* - * _ASR_Initialize - * - * DESCRIPTION: - * - * This routine initializes the given RTEMS_ASR information record. - */ - -STATIC INLINE void _ASR_Initialize ( - ASR_Information *information -); - -/* - * _ASR_Swap_signals - * - * DESCRIPTION: - * - * This routine atomically swaps the pending and posted signal - * sets. This is done when the thread alters its mode in such a - * way that the RTEMS_ASR disable/enable flag changes. - */ - -STATIC INLINE void _ASR_Swap_signals ( - ASR_Information *information -); - -/* - * _ASR_Is_null_handler - * - * DESCRIPTION: - * - * This function returns TRUE if the given asr_handler is NULL and - * FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Is_null_handler ( - rtems_asr_entry asr_handler -); - -/* - * _ASR_Are_signals_pending - * - * DESCRIPTION: - * - * This function returns TRUE if there are signals pending in the - * given RTEMS_ASR information record and FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Are_signals_pending ( - ASR_Information *information -); - -/* - * _ASR_Post_signals - * - * DESCRIPTION: - * - * This routine posts the given signals into the signal_set - * passed in. The result is returned to the user in signal_set. - * - * NOTE: This must be implemented as a macro. - */ - -STATIC INLINE void _ASR_Post_signals( - rtems_signal_set signals, - rtems_signal_set *signal_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/asr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/attr.h b/c/src/exec/rtems/headers/attr.h index 2d34dfe380..8262a3a381 100644 --- a/c/src/exec/rtems/headers/attr.h +++ b/c/src/exec/rtems/headers/attr.h @@ -72,129 +72,9 @@ typedef unsigned32 rtems_attribute; #define _Attributes_Handler_initialization() -/* - * _Attributes_Set - * - * DESCRIPTION: - * - * This function sets the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Set ( - rtems_attribute new_attributes, - rtems_attribute attribute_set -); - -/* - * _Attributes_Clear - * - * DESCRIPTION: - * - * This function clears the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Clear ( - rtems_attribute attribute_set, - rtems_attribute mask -); - -/* - * _Attributes_Is_floating_point - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_floating_point( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_global - * - * DESCRIPTION: - * - * This function returns TRUE if the global object attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_global( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority( - rtems_attribute attribute_set -); - -#if 0 -/* - * _Attributes_Is_limit - * - * DESCRIPTION: - * - * This function returns TRUE if the limited attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_limit( - rtems_attribute attribute_set -); -#endif - -/* - * _Attributes_Is_binary_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the binary semaphore attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_binary_semaphore( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_inherit_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority inheritance attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_inherit_priority( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority_ceiling - * - * DESCRIPTION: - * - * This function returns TRUE if the priority ceiling attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority_ceiling( - rtems_attribute attribute_set -); - - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/attr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/dpmem.h b/c/src/exec/rtems/headers/dpmem.h index 576a338187..fc580c1a8a 100644 --- a/c/src/exec/rtems/headers/dpmem.h +++ b/c/src/exec/rtems/headers/dpmem.h @@ -145,62 +145,9 @@ rtems_status_code rtems_port_internal_to_external( void **external ); -/* - * _Dual_ported_memory_Allocate - * - * DESCRIPTION: - * - * This routine allocates a port control block from the inactive chain - * of free port control blocks. - */ - -STATIC INLINE Dual_ported_memory_Control - *_Dual_ported_memory_Allocate ( void ); - -/* - * _Dual_ported_memory_Free - * - * DESCRIPTION: - * - * This routine frees a port control block to the inactive chain - * of free port control blocks. - */ - -STATIC INLINE void _Dual_ported_memory_Free ( - Dual_ported_memory_Control *the_port -); - -/* - * _Dual_ported_memory_Get - * - * DESCRIPTION: - * - * This function maps port IDs to port control blocks. If ID - * corresponds to a local port, then it returns the_port control - * pointer which maps to ID and location is set to OBJECTS_LOCAL. - * Global ports are not supported, thus if ID does not map to a - * local port, location is set to OBJECTS_ERROR and the_port is - * undefined. - */ - -STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Dual_ported_memory_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_port is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Dual_ported_memory_Is_null( - Dual_ported_memory_Control *the_port -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/dpmem.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/event.h b/c/src/exec/rtems/headers/event.h index 6ae6bcee5c..0add026e5c 100644 --- a/c/src/exec/rtems/headers/event.h +++ b/c/src/exec/rtems/headers/event.h @@ -55,16 +55,6 @@ typedef enum { } Event_Sync_states; /* - * _Event_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -STATIC INLINE void _Event_Manager_initialization( void ); - -/* * rtems_event_send * * DESCRIPTION: @@ -162,7 +152,9 @@ void _Event_Timeout ( EXTERN volatile Event_Sync_states _Event_Sync_state; #include <rtems/rtems/eventmp.h> +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/event.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/eventset.h b/c/src/exec/rtems/headers/eventset.h index 770f607075..0f3e122e5f 100644 --- a/c/src/exec/rtems/headers/eventset.h +++ b/c/src/exec/rtems/headers/eventset.h @@ -77,62 +77,9 @@ typedef unsigned32 rtems_event_set; #define EVENT_SETS_NONE_PENDING 0 -/* - * _Event_sets_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if on events are posted in the event_set, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Event_sets_Is_empty( - rtems_event_set the_event_set -); - -/* - * _Event_sets_Post - * - * DESCRIPTION: - * - * This routine posts the given new_events into the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE void _Event_sets_Post( - rtems_event_set the_new_events, - rtems_event_set *the_event_set -); - -/* - * _Event_sets_Get - * - * DESCRIPTION: - * - * This function returns the events in event_condition which are - * set in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Get( - rtems_event_set the_event_set, - rtems_event_set the_event_condition -); - -/* - * _Event_sets_Clear - * - * DESCRIPTION: - * - * This function removes the events in mask from the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Clear( - rtems_event_set the_event_set, - rtems_event_set the_mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/eventset.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/message.h b/c/src/exec/rtems/headers/message.h index 40b04ed21c..0469f8ddbf 100644 --- a/c/src/exec/rtems/headers/message.h +++ b/c/src/exec/rtems/headers/message.h @@ -262,19 +262,6 @@ rtems_status_code _Message_queue_Submit( ); /* - * _Message_queue_Is_null - * - * DESCRIPTION: - * - * This function places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE boolean _Message_queue_Is_null ( - Message_queue_Control *the_message_queue -); - -/* * _Message_queue_Allocate * * DESCRIPTION: @@ -289,39 +276,6 @@ Message_queue_Control *_Message_queue_Allocate ( ); /* - * _Message_queue_Free - * - * DESCRIPTION: - * - * This routine deallocates a message queue control block into - * the inactive chain of free message queue control blocks. - */ - -STATIC INLINE void _Message_queue_Free ( - Message_queue_Control *the_message_queue -); - -/* - * _Message_queue_Get - * - * DESCRIPTION: - * - * This function maps message queue IDs to message queue control - * blocks. If ID corresponds to a local message queue, then it - * returns the_message_queue control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the message queue ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_message_queue is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_message_queue is undefined. - */ - -STATIC INLINE Message_queue_Control *_Message_queue_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Message_queue_Translate_core_message_queue_return_code * * DESCRIPTION: @@ -350,7 +304,9 @@ void _Message_queue_Core_message_queue_mp_support ( Objects_Id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/message.inl> +#endif #include <rtems/rtems/msgmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/headers/modes.h b/c/src/exec/rtems/headers/modes.h index bf60aacf1f..34a23c7b20 100644 --- a/c/src/exec/rtems/headers/modes.h +++ b/c/src/exec/rtems/headers/modes.h @@ -59,7 +59,8 @@ typedef unsigned32 Modes_Control; * RTEMS supports 0 to 256 levels in bits 0-7 of the mode. */ -/* +/*PAGE + * * RTEMS_INTERRUPT_LEVEL * * DESCRIPTION: @@ -72,108 +73,13 @@ typedef unsigned32 Modes_Control; * particular CPU, fewer than 256 levels may be supported. */ -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -); - -/* - * _Modes_Mask_changed - * - * DESCRIPTION: - * - * This function returns TRUE if any of the mode flags in mask - * are set in mode_set, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Mask_changed ( - Modes_Control mode_set, - Modes_Control masks -); - -/* - * _Modes_Is_asr_disabled - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that Asynchronous - * Signal Processing is disabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_asr_disabled ( - Modes_Control mode_set -); - -/* - * _Modes_Is_preempt - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that preemption - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_preempt ( - Modes_Control mode_set -); - -/* - * _Modes_Is_timeslice - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that timeslicing - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_timeslice ( - Modes_Control mode_set -); - -/* - * _Modes_Get_interrupt_level - * - * DESCRIPTION: - * - * This function returns the interrupt level portion of the mode_set. - */ - -STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Set_interrupt_level - * - * DESCRIPTION: - * - * This routine sets the current interrupt level to that specified - * in the mode_set. - */ - -STATIC INLINE void _Modes_Set_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Change - * - * DESCRIPTION: - * - * This routine changes the modes in old_mode_set indicated by - * mask to the requested values in new_mode_set. The resulting - * mode set is returned in out_mode_set and the modes that changed - * is returned in changed. - */ - -STATIC INLINE void _Modes_Change ( - Modes_Control old_mode_set, - Modes_Control new_mode_set, - Modes_Control mask, - Modes_Control *out_mode_set, - Modes_Control *changed -); +#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ + ( (_mode_set) & RTEMS_INTERRUPT_MASK ) + +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/modes.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/options.h b/c/src/exec/rtems/headers/options.h index d8da2f9e86..069d7721b3 100644 --- a/c/src/exec/rtems/headers/options.h +++ b/c/src/exec/rtems/headers/options.h @@ -41,35 +41,9 @@ typedef unsigned32 rtems_option; #define RTEMS_EVENT_ALL 0x00000000 /* wait for all events */ #define RTEMS_EVENT_ANY 0x00000002 /* wait on any event */ -/* - * _Options_Is_no_wait - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in - * option_set, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_no_wait ( - rtems_option option_set -); - -/* - * _Options_Is_any - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in - * OPTION_SET, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_any ( - rtems_option option_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/options.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/part.h b/c/src/exec/rtems/headers/part.h index 95a7ce692e..e06a2e4b86 100644 --- a/c/src/exec/rtems/headers/part.h +++ b/c/src/exec/rtems/headers/part.h @@ -155,132 +155,9 @@ rtems_status_code rtems_partition_return_buffer( void *buffer ); -/* - * _Partition_Allocate_buffer - * - * DESCRIPTION: - * - * This function attempts to allocate a buffer from the_partition. - * If successful, it returns the address of the allocated buffer. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Partition_Allocate_buffer ( - Partition_Control *the_partition -); - -/* - * _Partition_Free_buffer - * - * DESCRIPTION: - * - * This routine frees the_buffer to the_partition. - */ - -STATIC INLINE void _Partition_Free_buffer ( - Partition_Control *the_partition, - Chain_Node *the_buffer -); - -/* - * _Partition_Is_buffer_on_boundary - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is on a valid buffer - * boundary for the_partition, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( - void *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is a valid buffer from - * the_partition, otherwise FALSE is returned. - */ - -STATIC INLINE boolean _Partition_Is_buffer_valid ( - Chain_Node *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_size_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the use of the specified buffer_size - * will result in the allocation of buffers whose first byte is - * properly aligned, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( - unsigned32 buffer_size -); - -/* - * _Partition_Allocate - * - * DESCRIPTION: - * - * This function allocates a partition control block from - * the inactive chain of free partition control blocks. - */ - -STATIC INLINE Partition_Control *_Partition_Allocate ( void ); - -/* - * _Partition_Free - * - * DESCRIPTION: - * - * This routine frees a partition control block to the - * inactive chain of free partition control blocks. - */ - -STATIC INLINE void _Partition_Free ( - Partition_Control *the_partition -); - -/* - * _Partition_Get - * - * DESCRIPTION: - * - * This function maps partition IDs to partition control blocks. - * If ID corresponds to a local partition, then it returns - * the_partition control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. If the partition ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_partition is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_partition is undefined. - */ - -STATIC INLINE Partition_Control *_Partition_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Partition_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_partition is NULL - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_null ( - Partition_Control *the_partition -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/part.inl> +#endif #include <rtems/rtems/partmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/headers/ratemon.h b/c/src/exec/rtems/headers/ratemon.h index 3c6c6695ca..a85bbcdc09 100644 --- a/c/src/exec/rtems/headers/ratemon.h +++ b/c/src/exec/rtems/headers/ratemon.h @@ -156,47 +156,6 @@ rtems_status_code rtems_rate_monotonic_period( ); /* - * _Rate_monotonic_Allocate - * - * DESCRIPTION: - * - * This function allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ); - -/* - * _Rate_monotonic_Free - * - * DESCRIPTION: - * - * This routine allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE void _Rate_monotonic_Free ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Get - * - * DESCRIPTION: - * - * This function maps period IDs to period control blocks. - * If ID corresponds to a local period, then it returns - * the_period control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_period is undefined. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Rate_monotonic_Timeout * * DESCRIPTION: @@ -214,58 +173,9 @@ void _Rate_monotonic_Timeout ( void *ignored ); -/* - * _Rate_monotonic_Is_active - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_active ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_inactive - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_inactive ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_expired - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the EXPIRED state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_expired ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_null ( - Rate_monotonic_Control *the_period -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/ratemon.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/headers/region.h b/c/src/exec/rtems/headers/region.h index 054698caa3..7ee2658cd2 100644 --- a/c/src/exec/rtems/headers/region.h +++ b/c/src/exec/rtems/headers/region.h @@ -198,88 +198,9 @@ rtems_status_code rtems_region_return_segment( void *segment ); -/* - * _Region_Allocate - * - * DESCRIPTION: - * - * This function allocates a region control block from - * the inactive chain of free region control blocks. - */ - -STATIC INLINE Region_Control *_Region_Allocate( void ); - -/* - * _Region_Free - * - * DESCRIPTION: - * - * This routine frees a region control block to the - * inactive chain of free region control blocks. - */ - -STATIC INLINE void _Region_Free ( - Region_Control *the_region -); - -/* - * _Region_Get - * - * DESCRIPTION: - * - * This function maps region IDs to region control blocks. - * If ID corresponds to a local region, then it returns - * the_region control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_region is undefined. - */ - -STATIC INLINE Region_Control *_Region_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Region_Allocate_segment - * - * DESCRIPTION: - * - * This function attempts to allocate a segment from the_region. - * If successful, it returns the address of the allocated segment. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Region_Allocate_segment ( - Region_Control *the_region, - unsigned32 size -); - -/* - * _Region_Free_segment - * - * DESCRIPTION: - * - * This function frees the_segment to the_region. - */ - -STATIC INLINE boolean _Region_Free_segment ( - Region_Control *the_region, - void *the_segment -); - -/* - * _Region_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_region is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Region_Is_null ( - Region_Control *the_region -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/region.inl> +#endif #include <rtems/rtems/regionmp.h> /* diff --git a/c/src/exec/rtems/headers/rtems.h b/c/src/exec/rtems/headers/rtems.h index 97eec4b772..e8826079b9 100644 --- a/c/src/exec/rtems/headers/rtems.h +++ b/c/src/exec/rtems/headers/rtems.h @@ -23,6 +23,18 @@ extern "C" { #endif +/* + * Unless told otherwise, the RTEMS include files will hide some stuff + * from normal application code. Defining this crosses a boundary which + * is undesirable since it means your application is using RTEMS features + * which are not included in the formally defined and supported API. + * Define this at your own risk. + */ + +#ifndef __RTEMS_VIOLATE_KERNEL_VISIBILITY__ +#define __RTEMS_APPLICATION__ +#endif + #include <rtems/system.h> #include <rtems/rtems/status.h> #include <rtems/rtems/types.h> diff --git a/c/src/exec/rtems/headers/sem.h b/c/src/exec/rtems/headers/sem.h index e9760ac4e1..c4f8574b17 100644 --- a/c/src/exec/rtems/headers/sem.h +++ b/c/src/exec/rtems/headers/sem.h @@ -178,61 +178,6 @@ boolean _Semaphore_Seize( ); /* - * _Semaphore_Allocate - * - * DESCRIPTION: - * - * This function allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ); - -/* - * _Semaphore_Free - * - * DESCRIPTION: - * - * This routine frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - */ - -STATIC INLINE void _Semaphore_Free ( - Semaphore_Control *the_semaphore -); - -/* - * _Semaphore_Get - * - * DESCRIPTION: - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Get ( - rtems_id id, - Objects_Locations *location -); - -/* - * _Semaphore_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Semaphore_Is_null ( - Semaphore_Control *the_semaphore -); - -/* * _Semaphore_Translate_core_mutex_return_code * * DESCRIPTION: @@ -290,7 +235,9 @@ void _Semaphore_Core_semaphore_mp_support ( rtems_id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/sem.inl> +#endif #include <rtems/rtems/semmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/headers/status.h b/c/src/exec/rtems/headers/status.h index 1c00d47bbf..23c1c830c6 100644 --- a/c/src/exec/rtems/headers/status.h +++ b/c/src/exec/rtems/headers/status.h @@ -69,32 +69,9 @@ rtems_status_code _Status_Object_name_errors_to_status[] = { #endif /* - * rtems_is_status_successful - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, - * and FALSE otherwise. + * Applications are allowed to use the macros to compare status codes. */ -STATIC INLINE boolean rtems_is_status_successful ( - rtems_status_code code -); - -/* - * rtems_are_statuses_equal - * - * DESCRIPTION: - * - * This function returns TRUE if the status code1 is equal to code2, - * and FALSE otherwise. - */ - -STATIC INLINE boolean rtems_are_statuses_equal ( - rtems_status_code code1, - rtems_status_code code2 -); - #include <rtems/rtems/status.inl> #ifdef __cplusplus diff --git a/c/src/exec/rtems/headers/support.h b/c/src/exec/rtems/headers/support.h index 3cf7eb6840..f4b26d6a61 100644 --- a/c/src/exec/rtems/headers/support.h +++ b/c/src/exec/rtems/headers/support.h @@ -24,18 +24,6 @@ extern "C" { #include <rtems/rtems/types.h> /* - * rtems_is_name_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the name is valid, and FALSE otherwise. - */ - -STATIC INLINE rtems_boolean rtems_is_name_valid ( - rtems_name name -); - -/* * rtems_build_name * * DESCRIPTION: @@ -53,24 +41,6 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( ( (_C1) << 24 | (_C2) << 16 | (_C3) << 8 | (_C4) ) /* - * rtems_name_to_characters - * - * DESCRIPTION: - * - * This function breaks the object name into the four component - * characters C1, C2, C3, and C4. - * - */ - -STATIC INLINE void rtems_name_to_characters( - rtems_name name, - char *c1, - char *c2, - char *c3, - char *c4 -); - -/* * rtems_get_class * * DESCRIPTION: diff --git a/c/src/exec/rtems/headers/tasks.h b/c/src/exec/rtems/headers/tasks.h index 2c75cb3824..b86d85a562 100644 --- a/c/src/exec/rtems/headers/tasks.h +++ b/c/src/exec/rtems/headers/tasks.h @@ -392,43 +392,6 @@ rtems_status_code rtems_task_wake_after( rtems_interval ticks ); -/* - * _RTEMS_tasks_Allocate - * - * DESCRIPTION: - * - * This function allocates a task control block from - * the inactive chain of free task control blocks. - */ - -STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ); - -/* - * _RTEMS_tasks_Free - * - * DESCRIPTION: - * - * This routine frees a task control block to the - * inactive chain of free task control blocks. - - */ - -STATIC INLINE void _RTEMS_tasks_Free ( - Thread_Control *the_task -); - -/* - * _RTEMS_tasks_Priority_to_Core - * - * DESCRIPTION: - * - * This function converts an RTEMS API priority into a core priority. - */ - -STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( - rtems_task_priority priority -); - /*PAGE * * _RTEMS_tasks_Initialize_user_tasks @@ -443,17 +406,9 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( void _RTEMS_tasks_Initialize_user_tasks( void ); -/*PAGE - * - * _RTEMS_tasks_Priority_is_valid - * - */ - -STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( - rtems_task_priority the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/tasks.inl> +#endif #include <rtems/rtems/taskmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/headers/timer.h b/c/src/exec/rtems/headers/timer.h index d55d43df10..d09b80d5ff 100644 --- a/c/src/exec/rtems/headers/timer.h +++ b/c/src/exec/rtems/headers/timer.h @@ -195,99 +195,9 @@ rtems_status_code rtems_timer_reset( Objects_Id id ); -/* - * _Timer_Allocate - * - * DESCRIPTION: - * - * This function allocates a timer control block from - * the inactive chain of free timer control blocks. - */ - -STATIC INLINE Timer_Control *_Timer_Allocate( void ); - -/* - * _Timer_Free - * - * DESCRIPTION: - * - * This routine frees a timer control block to the - * inactive chain of free timer control blocks. - */ - -STATIC INLINE void _Timer_Free ( - Timer_Control *the_timer -); - -/* - * _Timer_Get - * - * DESCRIPTION: - * - * This function maps timer IDs to timer control blocks. - * If ID corresponds to a local timer, then it returns - * the timer control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Timer_Control *_Timer_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Timer_Is_interval_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_interval_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_time_of_day_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_timer_of_day_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_dormant_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of a DORMANT - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_dormant_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_timer is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_null ( - Timer_Control *the_timer -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/timer.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems.h b/c/src/exec/rtems/include/rtems.h index 97eec4b772..e8826079b9 100644 --- a/c/src/exec/rtems/include/rtems.h +++ b/c/src/exec/rtems/include/rtems.h @@ -23,6 +23,18 @@ extern "C" { #endif +/* + * Unless told otherwise, the RTEMS include files will hide some stuff + * from normal application code. Defining this crosses a boundary which + * is undesirable since it means your application is using RTEMS features + * which are not included in the formally defined and supported API. + * Define this at your own risk. + */ + +#ifndef __RTEMS_VIOLATE_KERNEL_VISIBILITY__ +#define __RTEMS_APPLICATION__ +#endif + #include <rtems/system.h> #include <rtems/rtems/status.h> #include <rtems/rtems/types.h> diff --git a/c/src/exec/rtems/include/rtems/rtems/asr.h b/c/src/exec/rtems/include/rtems/rtems/asr.h index 55eed78ec2..31758fc06b 100644 --- a/c/src/exec/rtems/include/rtems/rtems/asr.h +++ b/c/src/exec/rtems/include/rtems/rtems/asr.h @@ -100,75 +100,9 @@ typedef struct { #define RTEMS_SIGNAL_30 0x40000000 #define RTEMS_SIGNAL_31 0x80000000 -/* - * _ASR_Initialize - * - * DESCRIPTION: - * - * This routine initializes the given RTEMS_ASR information record. - */ - -STATIC INLINE void _ASR_Initialize ( - ASR_Information *information -); - -/* - * _ASR_Swap_signals - * - * DESCRIPTION: - * - * This routine atomically swaps the pending and posted signal - * sets. This is done when the thread alters its mode in such a - * way that the RTEMS_ASR disable/enable flag changes. - */ - -STATIC INLINE void _ASR_Swap_signals ( - ASR_Information *information -); - -/* - * _ASR_Is_null_handler - * - * DESCRIPTION: - * - * This function returns TRUE if the given asr_handler is NULL and - * FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Is_null_handler ( - rtems_asr_entry asr_handler -); - -/* - * _ASR_Are_signals_pending - * - * DESCRIPTION: - * - * This function returns TRUE if there are signals pending in the - * given RTEMS_ASR information record and FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Are_signals_pending ( - ASR_Information *information -); - -/* - * _ASR_Post_signals - * - * DESCRIPTION: - * - * This routine posts the given signals into the signal_set - * passed in. The result is returned to the user in signal_set. - * - * NOTE: This must be implemented as a macro. - */ - -STATIC INLINE void _ASR_Post_signals( - rtems_signal_set signals, - rtems_signal_set *signal_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/asr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/attr.h b/c/src/exec/rtems/include/rtems/rtems/attr.h index 2d34dfe380..8262a3a381 100644 --- a/c/src/exec/rtems/include/rtems/rtems/attr.h +++ b/c/src/exec/rtems/include/rtems/rtems/attr.h @@ -72,129 +72,9 @@ typedef unsigned32 rtems_attribute; #define _Attributes_Handler_initialization() -/* - * _Attributes_Set - * - * DESCRIPTION: - * - * This function sets the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Set ( - rtems_attribute new_attributes, - rtems_attribute attribute_set -); - -/* - * _Attributes_Clear - * - * DESCRIPTION: - * - * This function clears the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Clear ( - rtems_attribute attribute_set, - rtems_attribute mask -); - -/* - * _Attributes_Is_floating_point - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_floating_point( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_global - * - * DESCRIPTION: - * - * This function returns TRUE if the global object attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_global( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority( - rtems_attribute attribute_set -); - -#if 0 -/* - * _Attributes_Is_limit - * - * DESCRIPTION: - * - * This function returns TRUE if the limited attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_limit( - rtems_attribute attribute_set -); -#endif - -/* - * _Attributes_Is_binary_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the binary semaphore attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_binary_semaphore( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_inherit_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority inheritance attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_inherit_priority( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority_ceiling - * - * DESCRIPTION: - * - * This function returns TRUE if the priority ceiling attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority_ceiling( - rtems_attribute attribute_set -); - - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/attr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/dpmem.h b/c/src/exec/rtems/include/rtems/rtems/dpmem.h index 576a338187..fc580c1a8a 100644 --- a/c/src/exec/rtems/include/rtems/rtems/dpmem.h +++ b/c/src/exec/rtems/include/rtems/rtems/dpmem.h @@ -145,62 +145,9 @@ rtems_status_code rtems_port_internal_to_external( void **external ); -/* - * _Dual_ported_memory_Allocate - * - * DESCRIPTION: - * - * This routine allocates a port control block from the inactive chain - * of free port control blocks. - */ - -STATIC INLINE Dual_ported_memory_Control - *_Dual_ported_memory_Allocate ( void ); - -/* - * _Dual_ported_memory_Free - * - * DESCRIPTION: - * - * This routine frees a port control block to the inactive chain - * of free port control blocks. - */ - -STATIC INLINE void _Dual_ported_memory_Free ( - Dual_ported_memory_Control *the_port -); - -/* - * _Dual_ported_memory_Get - * - * DESCRIPTION: - * - * This function maps port IDs to port control blocks. If ID - * corresponds to a local port, then it returns the_port control - * pointer which maps to ID and location is set to OBJECTS_LOCAL. - * Global ports are not supported, thus if ID does not map to a - * local port, location is set to OBJECTS_ERROR and the_port is - * undefined. - */ - -STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Dual_ported_memory_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_port is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Dual_ported_memory_Is_null( - Dual_ported_memory_Control *the_port -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/dpmem.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/event.h b/c/src/exec/rtems/include/rtems/rtems/event.h index 6ae6bcee5c..0add026e5c 100644 --- a/c/src/exec/rtems/include/rtems/rtems/event.h +++ b/c/src/exec/rtems/include/rtems/rtems/event.h @@ -55,16 +55,6 @@ typedef enum { } Event_Sync_states; /* - * _Event_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -STATIC INLINE void _Event_Manager_initialization( void ); - -/* * rtems_event_send * * DESCRIPTION: @@ -162,7 +152,9 @@ void _Event_Timeout ( EXTERN volatile Event_Sync_states _Event_Sync_state; #include <rtems/rtems/eventmp.h> +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/event.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/eventset.h b/c/src/exec/rtems/include/rtems/rtems/eventset.h index 770f607075..0f3e122e5f 100644 --- a/c/src/exec/rtems/include/rtems/rtems/eventset.h +++ b/c/src/exec/rtems/include/rtems/rtems/eventset.h @@ -77,62 +77,9 @@ typedef unsigned32 rtems_event_set; #define EVENT_SETS_NONE_PENDING 0 -/* - * _Event_sets_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if on events are posted in the event_set, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Event_sets_Is_empty( - rtems_event_set the_event_set -); - -/* - * _Event_sets_Post - * - * DESCRIPTION: - * - * This routine posts the given new_events into the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE void _Event_sets_Post( - rtems_event_set the_new_events, - rtems_event_set *the_event_set -); - -/* - * _Event_sets_Get - * - * DESCRIPTION: - * - * This function returns the events in event_condition which are - * set in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Get( - rtems_event_set the_event_set, - rtems_event_set the_event_condition -); - -/* - * _Event_sets_Clear - * - * DESCRIPTION: - * - * This function removes the events in mask from the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Clear( - rtems_event_set the_event_set, - rtems_event_set the_mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/eventset.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/message.h b/c/src/exec/rtems/include/rtems/rtems/message.h index 40b04ed21c..0469f8ddbf 100644 --- a/c/src/exec/rtems/include/rtems/rtems/message.h +++ b/c/src/exec/rtems/include/rtems/rtems/message.h @@ -262,19 +262,6 @@ rtems_status_code _Message_queue_Submit( ); /* - * _Message_queue_Is_null - * - * DESCRIPTION: - * - * This function places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE boolean _Message_queue_Is_null ( - Message_queue_Control *the_message_queue -); - -/* * _Message_queue_Allocate * * DESCRIPTION: @@ -289,39 +276,6 @@ Message_queue_Control *_Message_queue_Allocate ( ); /* - * _Message_queue_Free - * - * DESCRIPTION: - * - * This routine deallocates a message queue control block into - * the inactive chain of free message queue control blocks. - */ - -STATIC INLINE void _Message_queue_Free ( - Message_queue_Control *the_message_queue -); - -/* - * _Message_queue_Get - * - * DESCRIPTION: - * - * This function maps message queue IDs to message queue control - * blocks. If ID corresponds to a local message queue, then it - * returns the_message_queue control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the message queue ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_message_queue is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_message_queue is undefined. - */ - -STATIC INLINE Message_queue_Control *_Message_queue_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Message_queue_Translate_core_message_queue_return_code * * DESCRIPTION: @@ -350,7 +304,9 @@ void _Message_queue_Core_message_queue_mp_support ( Objects_Id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/message.inl> +#endif #include <rtems/rtems/msgmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/include/rtems/rtems/modes.h b/c/src/exec/rtems/include/rtems/rtems/modes.h index bf60aacf1f..34a23c7b20 100644 --- a/c/src/exec/rtems/include/rtems/rtems/modes.h +++ b/c/src/exec/rtems/include/rtems/rtems/modes.h @@ -59,7 +59,8 @@ typedef unsigned32 Modes_Control; * RTEMS supports 0 to 256 levels in bits 0-7 of the mode. */ -/* +/*PAGE + * * RTEMS_INTERRUPT_LEVEL * * DESCRIPTION: @@ -72,108 +73,13 @@ typedef unsigned32 Modes_Control; * particular CPU, fewer than 256 levels may be supported. */ -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -); - -/* - * _Modes_Mask_changed - * - * DESCRIPTION: - * - * This function returns TRUE if any of the mode flags in mask - * are set in mode_set, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Mask_changed ( - Modes_Control mode_set, - Modes_Control masks -); - -/* - * _Modes_Is_asr_disabled - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that Asynchronous - * Signal Processing is disabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_asr_disabled ( - Modes_Control mode_set -); - -/* - * _Modes_Is_preempt - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that preemption - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_preempt ( - Modes_Control mode_set -); - -/* - * _Modes_Is_timeslice - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that timeslicing - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_timeslice ( - Modes_Control mode_set -); - -/* - * _Modes_Get_interrupt_level - * - * DESCRIPTION: - * - * This function returns the interrupt level portion of the mode_set. - */ - -STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Set_interrupt_level - * - * DESCRIPTION: - * - * This routine sets the current interrupt level to that specified - * in the mode_set. - */ - -STATIC INLINE void _Modes_Set_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Change - * - * DESCRIPTION: - * - * This routine changes the modes in old_mode_set indicated by - * mask to the requested values in new_mode_set. The resulting - * mode set is returned in out_mode_set and the modes that changed - * is returned in changed. - */ - -STATIC INLINE void _Modes_Change ( - Modes_Control old_mode_set, - Modes_Control new_mode_set, - Modes_Control mask, - Modes_Control *out_mode_set, - Modes_Control *changed -); +#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ + ( (_mode_set) & RTEMS_INTERRUPT_MASK ) + +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/modes.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/options.h b/c/src/exec/rtems/include/rtems/rtems/options.h index d8da2f9e86..069d7721b3 100644 --- a/c/src/exec/rtems/include/rtems/rtems/options.h +++ b/c/src/exec/rtems/include/rtems/rtems/options.h @@ -41,35 +41,9 @@ typedef unsigned32 rtems_option; #define RTEMS_EVENT_ALL 0x00000000 /* wait for all events */ #define RTEMS_EVENT_ANY 0x00000002 /* wait on any event */ -/* - * _Options_Is_no_wait - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in - * option_set, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_no_wait ( - rtems_option option_set -); - -/* - * _Options_Is_any - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in - * OPTION_SET, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_any ( - rtems_option option_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/options.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/part.h b/c/src/exec/rtems/include/rtems/rtems/part.h index 95a7ce692e..e06a2e4b86 100644 --- a/c/src/exec/rtems/include/rtems/rtems/part.h +++ b/c/src/exec/rtems/include/rtems/rtems/part.h @@ -155,132 +155,9 @@ rtems_status_code rtems_partition_return_buffer( void *buffer ); -/* - * _Partition_Allocate_buffer - * - * DESCRIPTION: - * - * This function attempts to allocate a buffer from the_partition. - * If successful, it returns the address of the allocated buffer. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Partition_Allocate_buffer ( - Partition_Control *the_partition -); - -/* - * _Partition_Free_buffer - * - * DESCRIPTION: - * - * This routine frees the_buffer to the_partition. - */ - -STATIC INLINE void _Partition_Free_buffer ( - Partition_Control *the_partition, - Chain_Node *the_buffer -); - -/* - * _Partition_Is_buffer_on_boundary - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is on a valid buffer - * boundary for the_partition, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( - void *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is a valid buffer from - * the_partition, otherwise FALSE is returned. - */ - -STATIC INLINE boolean _Partition_Is_buffer_valid ( - Chain_Node *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_size_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the use of the specified buffer_size - * will result in the allocation of buffers whose first byte is - * properly aligned, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( - unsigned32 buffer_size -); - -/* - * _Partition_Allocate - * - * DESCRIPTION: - * - * This function allocates a partition control block from - * the inactive chain of free partition control blocks. - */ - -STATIC INLINE Partition_Control *_Partition_Allocate ( void ); - -/* - * _Partition_Free - * - * DESCRIPTION: - * - * This routine frees a partition control block to the - * inactive chain of free partition control blocks. - */ - -STATIC INLINE void _Partition_Free ( - Partition_Control *the_partition -); - -/* - * _Partition_Get - * - * DESCRIPTION: - * - * This function maps partition IDs to partition control blocks. - * If ID corresponds to a local partition, then it returns - * the_partition control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. If the partition ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_partition is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_partition is undefined. - */ - -STATIC INLINE Partition_Control *_Partition_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Partition_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_partition is NULL - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_null ( - Partition_Control *the_partition -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/part.inl> +#endif #include <rtems/rtems/partmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/include/rtems/rtems/ratemon.h b/c/src/exec/rtems/include/rtems/rtems/ratemon.h index 3c6c6695ca..a85bbcdc09 100644 --- a/c/src/exec/rtems/include/rtems/rtems/ratemon.h +++ b/c/src/exec/rtems/include/rtems/rtems/ratemon.h @@ -156,47 +156,6 @@ rtems_status_code rtems_rate_monotonic_period( ); /* - * _Rate_monotonic_Allocate - * - * DESCRIPTION: - * - * This function allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ); - -/* - * _Rate_monotonic_Free - * - * DESCRIPTION: - * - * This routine allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE void _Rate_monotonic_Free ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Get - * - * DESCRIPTION: - * - * This function maps period IDs to period control blocks. - * If ID corresponds to a local period, then it returns - * the_period control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_period is undefined. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Rate_monotonic_Timeout * * DESCRIPTION: @@ -214,58 +173,9 @@ void _Rate_monotonic_Timeout ( void *ignored ); -/* - * _Rate_monotonic_Is_active - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_active ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_inactive - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_inactive ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_expired - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the EXPIRED state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_expired ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_null ( - Rate_monotonic_Control *the_period -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/ratemon.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/include/rtems/rtems/region.h b/c/src/exec/rtems/include/rtems/rtems/region.h index 054698caa3..7ee2658cd2 100644 --- a/c/src/exec/rtems/include/rtems/rtems/region.h +++ b/c/src/exec/rtems/include/rtems/rtems/region.h @@ -198,88 +198,9 @@ rtems_status_code rtems_region_return_segment( void *segment ); -/* - * _Region_Allocate - * - * DESCRIPTION: - * - * This function allocates a region control block from - * the inactive chain of free region control blocks. - */ - -STATIC INLINE Region_Control *_Region_Allocate( void ); - -/* - * _Region_Free - * - * DESCRIPTION: - * - * This routine frees a region control block to the - * inactive chain of free region control blocks. - */ - -STATIC INLINE void _Region_Free ( - Region_Control *the_region -); - -/* - * _Region_Get - * - * DESCRIPTION: - * - * This function maps region IDs to region control blocks. - * If ID corresponds to a local region, then it returns - * the_region control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_region is undefined. - */ - -STATIC INLINE Region_Control *_Region_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Region_Allocate_segment - * - * DESCRIPTION: - * - * This function attempts to allocate a segment from the_region. - * If successful, it returns the address of the allocated segment. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Region_Allocate_segment ( - Region_Control *the_region, - unsigned32 size -); - -/* - * _Region_Free_segment - * - * DESCRIPTION: - * - * This function frees the_segment to the_region. - */ - -STATIC INLINE boolean _Region_Free_segment ( - Region_Control *the_region, - void *the_segment -); - -/* - * _Region_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_region is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Region_Is_null ( - Region_Control *the_region -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/region.inl> +#endif #include <rtems/rtems/regionmp.h> /* diff --git a/c/src/exec/rtems/include/rtems/rtems/sem.h b/c/src/exec/rtems/include/rtems/rtems/sem.h index e9760ac4e1..c4f8574b17 100644 --- a/c/src/exec/rtems/include/rtems/rtems/sem.h +++ b/c/src/exec/rtems/include/rtems/rtems/sem.h @@ -178,61 +178,6 @@ boolean _Semaphore_Seize( ); /* - * _Semaphore_Allocate - * - * DESCRIPTION: - * - * This function allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ); - -/* - * _Semaphore_Free - * - * DESCRIPTION: - * - * This routine frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - */ - -STATIC INLINE void _Semaphore_Free ( - Semaphore_Control *the_semaphore -); - -/* - * _Semaphore_Get - * - * DESCRIPTION: - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Get ( - rtems_id id, - Objects_Locations *location -); - -/* - * _Semaphore_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Semaphore_Is_null ( - Semaphore_Control *the_semaphore -); - -/* * _Semaphore_Translate_core_mutex_return_code * * DESCRIPTION: @@ -290,7 +235,9 @@ void _Semaphore_Core_semaphore_mp_support ( rtems_id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/sem.inl> +#endif #include <rtems/rtems/semmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/include/rtems/rtems/status.h b/c/src/exec/rtems/include/rtems/rtems/status.h index 1c00d47bbf..23c1c830c6 100644 --- a/c/src/exec/rtems/include/rtems/rtems/status.h +++ b/c/src/exec/rtems/include/rtems/rtems/status.h @@ -69,32 +69,9 @@ rtems_status_code _Status_Object_name_errors_to_status[] = { #endif /* - * rtems_is_status_successful - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, - * and FALSE otherwise. + * Applications are allowed to use the macros to compare status codes. */ -STATIC INLINE boolean rtems_is_status_successful ( - rtems_status_code code -); - -/* - * rtems_are_statuses_equal - * - * DESCRIPTION: - * - * This function returns TRUE if the status code1 is equal to code2, - * and FALSE otherwise. - */ - -STATIC INLINE boolean rtems_are_statuses_equal ( - rtems_status_code code1, - rtems_status_code code2 -); - #include <rtems/rtems/status.inl> #ifdef __cplusplus diff --git a/c/src/exec/rtems/include/rtems/rtems/support.h b/c/src/exec/rtems/include/rtems/rtems/support.h index 3cf7eb6840..f4b26d6a61 100644 --- a/c/src/exec/rtems/include/rtems/rtems/support.h +++ b/c/src/exec/rtems/include/rtems/rtems/support.h @@ -24,18 +24,6 @@ extern "C" { #include <rtems/rtems/types.h> /* - * rtems_is_name_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the name is valid, and FALSE otherwise. - */ - -STATIC INLINE rtems_boolean rtems_is_name_valid ( - rtems_name name -); - -/* * rtems_build_name * * DESCRIPTION: @@ -53,24 +41,6 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( ( (_C1) << 24 | (_C2) << 16 | (_C3) << 8 | (_C4) ) /* - * rtems_name_to_characters - * - * DESCRIPTION: - * - * This function breaks the object name into the four component - * characters C1, C2, C3, and C4. - * - */ - -STATIC INLINE void rtems_name_to_characters( - rtems_name name, - char *c1, - char *c2, - char *c3, - char *c4 -); - -/* * rtems_get_class * * DESCRIPTION: diff --git a/c/src/exec/rtems/include/rtems/rtems/tasks.h b/c/src/exec/rtems/include/rtems/rtems/tasks.h index 2c75cb3824..b86d85a562 100644 --- a/c/src/exec/rtems/include/rtems/rtems/tasks.h +++ b/c/src/exec/rtems/include/rtems/rtems/tasks.h @@ -392,43 +392,6 @@ rtems_status_code rtems_task_wake_after( rtems_interval ticks ); -/* - * _RTEMS_tasks_Allocate - * - * DESCRIPTION: - * - * This function allocates a task control block from - * the inactive chain of free task control blocks. - */ - -STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ); - -/* - * _RTEMS_tasks_Free - * - * DESCRIPTION: - * - * This routine frees a task control block to the - * inactive chain of free task control blocks. - - */ - -STATIC INLINE void _RTEMS_tasks_Free ( - Thread_Control *the_task -); - -/* - * _RTEMS_tasks_Priority_to_Core - * - * DESCRIPTION: - * - * This function converts an RTEMS API priority into a core priority. - */ - -STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( - rtems_task_priority priority -); - /*PAGE * * _RTEMS_tasks_Initialize_user_tasks @@ -443,17 +406,9 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( void _RTEMS_tasks_Initialize_user_tasks( void ); -/*PAGE - * - * _RTEMS_tasks_Priority_is_valid - * - */ - -STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( - rtems_task_priority the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/tasks.inl> +#endif #include <rtems/rtems/taskmp.h> #ifdef __cplusplus diff --git a/c/src/exec/rtems/include/rtems/rtems/timer.h b/c/src/exec/rtems/include/rtems/rtems/timer.h index d55d43df10..d09b80d5ff 100644 --- a/c/src/exec/rtems/include/rtems/rtems/timer.h +++ b/c/src/exec/rtems/include/rtems/rtems/timer.h @@ -195,99 +195,9 @@ rtems_status_code rtems_timer_reset( Objects_Id id ); -/* - * _Timer_Allocate - * - * DESCRIPTION: - * - * This function allocates a timer control block from - * the inactive chain of free timer control blocks. - */ - -STATIC INLINE Timer_Control *_Timer_Allocate( void ); - -/* - * _Timer_Free - * - * DESCRIPTION: - * - * This routine frees a timer control block to the - * inactive chain of free timer control blocks. - */ - -STATIC INLINE void _Timer_Free ( - Timer_Control *the_timer -); - -/* - * _Timer_Get - * - * DESCRIPTION: - * - * This function maps timer IDs to timer control blocks. - * If ID corresponds to a local timer, then it returns - * the timer control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Timer_Control *_Timer_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Timer_Is_interval_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_interval_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_time_of_day_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_timer_of_day_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_dormant_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of a DORMANT - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_dormant_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_timer is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_null ( - Timer_Control *the_timer -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/timer.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/rtems/inline/asr.inl b/c/src/exec/rtems/inline/asr.inl index 611ac930db..fc52778875 100644 --- a/c/src/exec/rtems/inline/asr.inl +++ b/c/src/exec/rtems/inline/asr.inl @@ -23,6 +23,9 @@ * * _ASR_Initialize * + * DESCRIPTION: + * + * This routine initializes the given RTEMS_ASR information record. */ STATIC INLINE void _ASR_Initialize ( @@ -41,6 +44,11 @@ STATIC INLINE void _ASR_Initialize ( * * _ASR_Swap_signals * + * DESCRIPTION: + * + * This routine atomically swaps the pending and posted signal + * sets. This is done when the thread alters its mode in such a + * way that the RTEMS_ASR disable/enable flag changes. */ STATIC INLINE void _ASR_Swap_signals ( @@ -61,6 +69,10 @@ STATIC INLINE void _ASR_Swap_signals ( * * _ASR_Is_null_handler * + * DESCRIPTION: + * + * This function returns TRUE if the given asr_handler is NULL and + * FALSE otherwise. */ STATIC INLINE boolean _ASR_Is_null_handler ( @@ -74,6 +86,10 @@ STATIC INLINE boolean _ASR_Is_null_handler ( * * _ASR_Are_signals_pending * + * DESCRIPTION: + * + * This function returns TRUE if there are signals pending in the + * given RTEMS_ASR information record and FALSE otherwise. */ STATIC INLINE boolean _ASR_Are_signals_pending ( @@ -87,6 +103,12 @@ STATIC INLINE boolean _ASR_Are_signals_pending ( * * _ASR_Post_signals * + * DESCRIPTION: + * + * This routine posts the given signals into the signal_set + * passed in. The result is returned to the user in signal_set. + * + * NOTE: This must be implemented as a macro. */ STATIC INLINE void _ASR_Post_signals( diff --git a/c/src/exec/rtems/inline/attr.inl b/c/src/exec/rtems/inline/attr.inl index 0f1190fe93..53c613382f 100644 --- a/c/src/exec/rtems/inline/attr.inl +++ b/c/src/exec/rtems/inline/attr.inl @@ -20,6 +20,11 @@ /*PAGE * * _Attributes_Set + * + * DESCRIPTION: + * + * This function sets the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Set ( @@ -33,6 +38,11 @@ STATIC INLINE rtems_attribute _Attributes_Set ( /*PAGE * * _Attributes_Clear + * + * DESCRIPTION: + * + * This function clears the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Clear ( @@ -47,6 +57,10 @@ STATIC INLINE rtems_attribute _Attributes_Clear ( * * _Attributes_Is_floating_point * + * DESCRIPTION: + * + * This function returns TRUE if the floating point attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_floating_point( @@ -60,6 +74,10 @@ STATIC INLINE boolean _Attributes_Is_floating_point( * * _Attributes_Is_global * + * DESCRIPTION: + * + * This function returns TRUE if the global object attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_global( @@ -73,6 +91,10 @@ STATIC INLINE boolean _Attributes_Is_global( * * _Attributes_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority( @@ -86,6 +108,10 @@ STATIC INLINE boolean _Attributes_Is_priority( * * _Attributes_Is_binary_semaphore * + * DESCRIPTION: + * + * This function returns TRUE if the binary semaphore attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_binary_semaphore( @@ -99,6 +125,10 @@ STATIC INLINE boolean _Attributes_Is_binary_semaphore( * * _Attributes_Is_inherit_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority inheritance attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_inherit_priority( @@ -112,6 +142,10 @@ STATIC INLINE boolean _Attributes_Is_inherit_priority( * * _Attributes_Is_priority_ceiling * + * DESCRIPTION: + * + * This function returns TRUE if the priority ceiling attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority_ceiling( diff --git a/c/src/exec/rtems/inline/dpmem.inl b/c/src/exec/rtems/inline/dpmem.inl index 829ec5ab07..4bd13bcd80 100644 --- a/c/src/exec/rtems/inline/dpmem.inl +++ b/c/src/exec/rtems/inline/dpmem.inl @@ -22,6 +22,10 @@ * * _Dual_ported_memory_Allocate * + * DESCRIPTION: + * + * This routine allocates a port control block from the inactive chain + * of free port control blocks. */ STATIC INLINE Dual_ported_memory_Control @@ -35,6 +39,10 @@ STATIC INLINE Dual_ported_memory_Control * * _Dual_ported_memory_Free * + * DESCRIPTION: + * + * This routine frees a port control block to the inactive chain + * of free port control blocks. */ STATIC INLINE void _Dual_ported_memory_Free ( @@ -48,6 +56,14 @@ STATIC INLINE void _Dual_ported_memory_Free ( * * _Dual_ported_memory_Get * + * DESCRIPTION: + * + * This function maps port IDs to port control blocks. If ID + * corresponds to a local port, then it returns the_port control + * pointer which maps to ID and location is set to OBJECTS_LOCAL. + * Global ports are not supported, thus if ID does not map to a + * local port, location is set to OBJECTS_ERROR and the_port is + * undefined. */ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( @@ -62,6 +78,10 @@ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( /*PAGE * * _Dual_ported_memory_Is_null + * + * DESCRIPTION: + * + * This function returns TRUE if the_port is NULL and FALSE otherwise. */ STATIC INLINE boolean _Dual_ported_memory_Is_null( diff --git a/c/src/exec/rtems/inline/event.inl b/c/src/exec/rtems/inline/event.inl index 0e2a1691ed..27d66c9ab0 100644 --- a/c/src/exec/rtems/inline/event.inl +++ b/c/src/exec/rtems/inline/event.inl @@ -19,6 +19,10 @@ /* * Event_Manager_initialization + * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this manager. */ STATIC INLINE void _Event_Manager_initialization( void ) diff --git a/c/src/exec/rtems/inline/eventset.inl b/c/src/exec/rtems/inline/eventset.inl index b38c61de1a..ec0789b207 100644 --- a/c/src/exec/rtems/inline/eventset.inl +++ b/c/src/exec/rtems/inline/eventset.inl @@ -19,6 +19,11 @@ /*PAGE * * _Event_sets_Is_empty + * + * DESCRIPTION: + * + * This function returns TRUE if on events are posted in the event_set, + * and FALSE otherwise. */ STATIC INLINE boolean _Event_sets_Is_empty( @@ -31,6 +36,11 @@ STATIC INLINE boolean _Event_sets_Is_empty( /*PAGE * * _Event_sets_Post + * + * DESCRIPTION: + * + * This routine posts the given new_events into the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE void _Event_sets_Post( @@ -44,6 +54,11 @@ STATIC INLINE void _Event_sets_Post( /*PAGE * * _Event_sets_Get + * + * DESCRIPTION: + * + * This function returns the events in event_condition which are + * set in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Get( @@ -57,6 +72,11 @@ STATIC INLINE rtems_event_set _Event_sets_Get( /*PAGE * * _Event_sets_Clear + * + * DESCRIPTION: + * + * This function removes the events in mask from the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Clear( diff --git a/c/src/exec/rtems/inline/message.inl b/c/src/exec/rtems/inline/message.inl index 673dce92a5..c34ad5082a 100644 --- a/c/src/exec/rtems/inline/message.inl +++ b/c/src/exec/rtems/inline/message.inl @@ -23,6 +23,10 @@ * * _Message_queue_Is_null * + * DESCRIPTION: + * + * This function places the_message at the rear of the outstanding + * messages on the_message_queue. */ STATIC INLINE boolean _Message_queue_Is_null ( @@ -37,6 +41,10 @@ STATIC INLINE boolean _Message_queue_Is_null ( * * _Message_queue_Free * + * DESCRIPTION: + * + * This routine deallocates a message queue control block into + * the inactive chain of free message queue control blocks. */ STATIC INLINE void _Message_queue_Free ( @@ -50,6 +58,16 @@ STATIC INLINE void _Message_queue_Free ( * * _Message_queue_Get * + * DESCRIPTION: + * + * This function maps message queue IDs to message queue control + * blocks. If ID corresponds to a local message queue, then it + * returns the_message_queue control pointer which maps to ID + * and location is set to OBJECTS_LOCAL. If the message queue ID is + * global and resides on a remote node, then location is set + * to OBJECTS_REMOTE, and the_message_queue is undefined. + * Otherwise, location is set to OBJECTS_ERROR and + * the_message_queue is undefined. */ STATIC INLINE Message_queue_Control *_Message_queue_Get ( diff --git a/c/src/exec/rtems/inline/modes.inl b/c/src/exec/rtems/inline/modes.inl index 6d4b6d06d0..803febd49a 100644 --- a/c/src/exec/rtems/inline/modes.inl +++ b/c/src/exec/rtems/inline/modes.inl @@ -19,20 +19,12 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -) -{ - return mode_set & RTEMS_INTERRUPT_MASK; -} - -/*PAGE - * * _Modes_Mask_changed * + * DESCRIPTION: + * + * This function returns TRUE if any of the mode flags in mask + * are set in mode_set, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Mask_changed ( @@ -47,6 +39,10 @@ STATIC INLINE boolean _Modes_Mask_changed ( * * _Modes_Is_asr_disabled * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that Asynchronous + * Signal Processing is disabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_asr_disabled ( @@ -60,6 +56,10 @@ STATIC INLINE boolean _Modes_Is_asr_disabled ( * * _Modes_Is_preempt * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that preemption + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_preempt ( @@ -73,6 +73,10 @@ STATIC INLINE boolean _Modes_Is_preempt ( * * _Modes_Is_timeslice * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that timeslicing + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_timeslice ( @@ -86,6 +90,9 @@ STATIC INLINE boolean _Modes_Is_timeslice ( * * _Modes_Get_interrupt_level * + * DESCRIPTION: + * + * This function returns the interrupt level portion of the mode_set. */ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( @@ -99,6 +106,10 @@ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( * * _Modes_Set_interrupt_level * + * DESCRIPTION: + * + * This routine sets the current interrupt level to that specified + * in the mode_set. */ STATIC INLINE void _Modes_Set_interrupt_level ( @@ -112,6 +123,12 @@ STATIC INLINE void _Modes_Set_interrupt_level ( * * _Modes_Change * + * DESCRIPTION: + * + * This routine changes the modes in old_mode_set indicated by + * mask to the requested values in new_mode_set. The resulting + * mode set is returned in out_mode_set and the modes that changed + * is returned in changed. */ STATIC INLINE void _Modes_Change ( diff --git a/c/src/exec/rtems/inline/options.inl b/c/src/exec/rtems/inline/options.inl index b3c7312010..9dba30e895 100644 --- a/c/src/exec/rtems/inline/options.inl +++ b/c/src/exec/rtems/inline/options.inl @@ -21,6 +21,10 @@ * * _Options_Is_no_wait * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in + * option_set, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_no_wait ( @@ -34,6 +38,10 @@ STATIC INLINE boolean _Options_Is_no_wait ( * * _Options_Is_any * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in + * OPTION_SET, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_any ( diff --git a/c/src/exec/rtems/inline/part.inl b/c/src/exec/rtems/inline/part.inl index 78f86dcefc..9088755aa7 100644 --- a/c/src/exec/rtems/inline/part.inl +++ b/c/src/exec/rtems/inline/part.inl @@ -21,6 +21,11 @@ * * _Partition_Allocate_buffer * + * DESCRIPTION: + * + * This function attempts to allocate a buffer from the_partition. + * If successful, it returns the address of the allocated buffer. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Partition_Allocate_buffer ( @@ -34,6 +39,9 @@ STATIC INLINE void *_Partition_Allocate_buffer ( * * _Partition_Free_buffer * + * DESCRIPTION: + * + * This routine frees the_buffer to the_partition. */ STATIC INLINE void _Partition_Free_buffer ( @@ -48,6 +56,10 @@ STATIC INLINE void _Partition_Free_buffer ( * * _Partition_Is_buffer_on_boundary * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is on a valid buffer + * boundary for the_partition, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( @@ -69,6 +81,10 @@ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( * * _Partition_Is_buffer_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is a valid buffer from + * the_partition, otherwise FALSE is returned. */ STATIC INLINE boolean _Partition_Is_buffer_valid ( @@ -92,6 +108,11 @@ STATIC INLINE boolean _Partition_Is_buffer_valid ( * * _Partition_Is_buffer_size_aligned * + * DESCRIPTION: + * + * This function returns TRUE if the use of the specified buffer_size + * will result in the allocation of buffers whose first byte is + * properly aligned, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( @@ -105,6 +126,10 @@ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( * * _Partition_Allocate * + * DESCRIPTION: + * + * This function allocates a partition control block from + * the inactive chain of free partition control blocks. */ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) @@ -116,6 +141,10 @@ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) * * _Partition_Free * + * DESCRIPTION: + * + * This routine frees a partition control block to the + * inactive chain of free partition control blocks. */ STATIC INLINE void _Partition_Free ( @@ -129,6 +158,15 @@ STATIC INLINE void _Partition_Free ( * * _Partition_Get * + * DESCRIPTION: + * + * This function maps partition IDs to partition control blocks. + * If ID corresponds to a local partition, then it returns + * the_partition control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. If the partition ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_partition is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_partition is undefined. */ STATIC INLINE Partition_Control *_Partition_Get ( @@ -144,6 +182,10 @@ STATIC INLINE Partition_Control *_Partition_Get ( * * _Partition_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_partition is NULL + * and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_null ( diff --git a/c/src/exec/rtems/inline/ratemon.inl b/c/src/exec/rtems/inline/ratemon.inl index b748f919b3..0450988329 100644 --- a/c/src/exec/rtems/inline/ratemon.inl +++ b/c/src/exec/rtems/inline/ratemon.inl @@ -21,6 +21,10 @@ * * _Rate_monotonic_Allocate * + * DESCRIPTION: + * + * This function allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) @@ -33,6 +37,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) * * _Rate_monotonic_Free * + * DESCRIPTION: + * + * This routine allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE void _Rate_monotonic_Free ( @@ -46,6 +54,13 @@ STATIC INLINE void _Rate_monotonic_Free ( * * _Rate_monotonic_Get * + * DESCRIPTION: + * + * This function maps period IDs to period control blocks. + * If ID corresponds to a local period, then it returns + * the_period control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_period is undefined. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( @@ -61,6 +76,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( * * _Rate_monotonic_Is_active * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_active ( @@ -74,6 +93,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_active ( * * _Rate_monotonic_Is_inactive * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( @@ -87,6 +110,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( * * _Rate_monotonic_Is_expired * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the EXPIRED state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_expired ( @@ -100,6 +127,9 @@ STATIC INLINE boolean _Rate_monotonic_Is_expired ( * * _Rate_monotonic_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_period is NULL and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_null ( diff --git a/c/src/exec/rtems/inline/region.inl b/c/src/exec/rtems/inline/region.inl index 5a0e4da1bf..aae042bed4 100644 --- a/c/src/exec/rtems/inline/region.inl +++ b/c/src/exec/rtems/inline/region.inl @@ -21,6 +21,10 @@ * * _Region_Allocate * + * DESCRIPTION: + * + * This function allocates a region control block from + * the inactive chain of free region control blocks. */ STATIC INLINE Region_Control *_Region_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Region_Control *_Region_Allocate( void ) * * _Region_Free * + * DESCRIPTION: + * + * This routine frees a region control block to the + * inactive chain of free region control blocks. */ STATIC INLINE void _Region_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Region_Free ( * * _Region_Get * + * DESCRIPTION: + * + * This function maps region IDs to region control blocks. + * If ID corresponds to a local region, then it returns + * the_region control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_region is undefined. */ STATIC INLINE Region_Control *_Region_Get ( @@ -60,6 +75,11 @@ STATIC INLINE Region_Control *_Region_Get ( * * _Region_Allocate_segment * + * DESCRIPTION: + * + * This function attempts to allocate a segment from the_region. + * If successful, it returns the address of the allocated segment. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Region_Allocate_segment ( @@ -74,6 +94,9 @@ STATIC INLINE void *_Region_Allocate_segment ( * * _Region_Free_segment * + * DESCRIPTION: + * + * This function frees the_segment to the_region. */ STATIC INLINE boolean _Region_Free_segment ( @@ -88,6 +111,9 @@ STATIC INLINE boolean _Region_Free_segment ( * * _Region_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_region is NULL and FALSE otherwise. */ STATIC INLINE boolean _Region_Is_null ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/asr.inl b/c/src/exec/rtems/inline/rtems/rtems/asr.inl index 611ac930db..fc52778875 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/asr.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/asr.inl @@ -23,6 +23,9 @@ * * _ASR_Initialize * + * DESCRIPTION: + * + * This routine initializes the given RTEMS_ASR information record. */ STATIC INLINE void _ASR_Initialize ( @@ -41,6 +44,11 @@ STATIC INLINE void _ASR_Initialize ( * * _ASR_Swap_signals * + * DESCRIPTION: + * + * This routine atomically swaps the pending and posted signal + * sets. This is done when the thread alters its mode in such a + * way that the RTEMS_ASR disable/enable flag changes. */ STATIC INLINE void _ASR_Swap_signals ( @@ -61,6 +69,10 @@ STATIC INLINE void _ASR_Swap_signals ( * * _ASR_Is_null_handler * + * DESCRIPTION: + * + * This function returns TRUE if the given asr_handler is NULL and + * FALSE otherwise. */ STATIC INLINE boolean _ASR_Is_null_handler ( @@ -74,6 +86,10 @@ STATIC INLINE boolean _ASR_Is_null_handler ( * * _ASR_Are_signals_pending * + * DESCRIPTION: + * + * This function returns TRUE if there are signals pending in the + * given RTEMS_ASR information record and FALSE otherwise. */ STATIC INLINE boolean _ASR_Are_signals_pending ( @@ -87,6 +103,12 @@ STATIC INLINE boolean _ASR_Are_signals_pending ( * * _ASR_Post_signals * + * DESCRIPTION: + * + * This routine posts the given signals into the signal_set + * passed in. The result is returned to the user in signal_set. + * + * NOTE: This must be implemented as a macro. */ STATIC INLINE void _ASR_Post_signals( diff --git a/c/src/exec/rtems/inline/rtems/rtems/attr.inl b/c/src/exec/rtems/inline/rtems/rtems/attr.inl index 0f1190fe93..53c613382f 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/attr.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/attr.inl @@ -20,6 +20,11 @@ /*PAGE * * _Attributes_Set + * + * DESCRIPTION: + * + * This function sets the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Set ( @@ -33,6 +38,11 @@ STATIC INLINE rtems_attribute _Attributes_Set ( /*PAGE * * _Attributes_Clear + * + * DESCRIPTION: + * + * This function clears the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Clear ( @@ -47,6 +57,10 @@ STATIC INLINE rtems_attribute _Attributes_Clear ( * * _Attributes_Is_floating_point * + * DESCRIPTION: + * + * This function returns TRUE if the floating point attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_floating_point( @@ -60,6 +74,10 @@ STATIC INLINE boolean _Attributes_Is_floating_point( * * _Attributes_Is_global * + * DESCRIPTION: + * + * This function returns TRUE if the global object attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_global( @@ -73,6 +91,10 @@ STATIC INLINE boolean _Attributes_Is_global( * * _Attributes_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority( @@ -86,6 +108,10 @@ STATIC INLINE boolean _Attributes_Is_priority( * * _Attributes_Is_binary_semaphore * + * DESCRIPTION: + * + * This function returns TRUE if the binary semaphore attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_binary_semaphore( @@ -99,6 +125,10 @@ STATIC INLINE boolean _Attributes_Is_binary_semaphore( * * _Attributes_Is_inherit_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority inheritance attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_inherit_priority( @@ -112,6 +142,10 @@ STATIC INLINE boolean _Attributes_Is_inherit_priority( * * _Attributes_Is_priority_ceiling * + * DESCRIPTION: + * + * This function returns TRUE if the priority ceiling attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority_ceiling( diff --git a/c/src/exec/rtems/inline/rtems/rtems/dpmem.inl b/c/src/exec/rtems/inline/rtems/rtems/dpmem.inl index 829ec5ab07..4bd13bcd80 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/dpmem.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/dpmem.inl @@ -22,6 +22,10 @@ * * _Dual_ported_memory_Allocate * + * DESCRIPTION: + * + * This routine allocates a port control block from the inactive chain + * of free port control blocks. */ STATIC INLINE Dual_ported_memory_Control @@ -35,6 +39,10 @@ STATIC INLINE Dual_ported_memory_Control * * _Dual_ported_memory_Free * + * DESCRIPTION: + * + * This routine frees a port control block to the inactive chain + * of free port control blocks. */ STATIC INLINE void _Dual_ported_memory_Free ( @@ -48,6 +56,14 @@ STATIC INLINE void _Dual_ported_memory_Free ( * * _Dual_ported_memory_Get * + * DESCRIPTION: + * + * This function maps port IDs to port control blocks. If ID + * corresponds to a local port, then it returns the_port control + * pointer which maps to ID and location is set to OBJECTS_LOCAL. + * Global ports are not supported, thus if ID does not map to a + * local port, location is set to OBJECTS_ERROR and the_port is + * undefined. */ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( @@ -62,6 +78,10 @@ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( /*PAGE * * _Dual_ported_memory_Is_null + * + * DESCRIPTION: + * + * This function returns TRUE if the_port is NULL and FALSE otherwise. */ STATIC INLINE boolean _Dual_ported_memory_Is_null( diff --git a/c/src/exec/rtems/inline/rtems/rtems/event.inl b/c/src/exec/rtems/inline/rtems/rtems/event.inl index 0e2a1691ed..27d66c9ab0 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/event.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/event.inl @@ -19,6 +19,10 @@ /* * Event_Manager_initialization + * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this manager. */ STATIC INLINE void _Event_Manager_initialization( void ) diff --git a/c/src/exec/rtems/inline/rtems/rtems/eventset.inl b/c/src/exec/rtems/inline/rtems/rtems/eventset.inl index b38c61de1a..ec0789b207 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/eventset.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/eventset.inl @@ -19,6 +19,11 @@ /*PAGE * * _Event_sets_Is_empty + * + * DESCRIPTION: + * + * This function returns TRUE if on events are posted in the event_set, + * and FALSE otherwise. */ STATIC INLINE boolean _Event_sets_Is_empty( @@ -31,6 +36,11 @@ STATIC INLINE boolean _Event_sets_Is_empty( /*PAGE * * _Event_sets_Post + * + * DESCRIPTION: + * + * This routine posts the given new_events into the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE void _Event_sets_Post( @@ -44,6 +54,11 @@ STATIC INLINE void _Event_sets_Post( /*PAGE * * _Event_sets_Get + * + * DESCRIPTION: + * + * This function returns the events in event_condition which are + * set in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Get( @@ -57,6 +72,11 @@ STATIC INLINE rtems_event_set _Event_sets_Get( /*PAGE * * _Event_sets_Clear + * + * DESCRIPTION: + * + * This function removes the events in mask from the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Clear( diff --git a/c/src/exec/rtems/inline/rtems/rtems/message.inl b/c/src/exec/rtems/inline/rtems/rtems/message.inl index 673dce92a5..c34ad5082a 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/message.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/message.inl @@ -23,6 +23,10 @@ * * _Message_queue_Is_null * + * DESCRIPTION: + * + * This function places the_message at the rear of the outstanding + * messages on the_message_queue. */ STATIC INLINE boolean _Message_queue_Is_null ( @@ -37,6 +41,10 @@ STATIC INLINE boolean _Message_queue_Is_null ( * * _Message_queue_Free * + * DESCRIPTION: + * + * This routine deallocates a message queue control block into + * the inactive chain of free message queue control blocks. */ STATIC INLINE void _Message_queue_Free ( @@ -50,6 +58,16 @@ STATIC INLINE void _Message_queue_Free ( * * _Message_queue_Get * + * DESCRIPTION: + * + * This function maps message queue IDs to message queue control + * blocks. If ID corresponds to a local message queue, then it + * returns the_message_queue control pointer which maps to ID + * and location is set to OBJECTS_LOCAL. If the message queue ID is + * global and resides on a remote node, then location is set + * to OBJECTS_REMOTE, and the_message_queue is undefined. + * Otherwise, location is set to OBJECTS_ERROR and + * the_message_queue is undefined. */ STATIC INLINE Message_queue_Control *_Message_queue_Get ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/modes.inl b/c/src/exec/rtems/inline/rtems/rtems/modes.inl index 6d4b6d06d0..803febd49a 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/modes.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/modes.inl @@ -19,20 +19,12 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -) -{ - return mode_set & RTEMS_INTERRUPT_MASK; -} - -/*PAGE - * * _Modes_Mask_changed * + * DESCRIPTION: + * + * This function returns TRUE if any of the mode flags in mask + * are set in mode_set, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Mask_changed ( @@ -47,6 +39,10 @@ STATIC INLINE boolean _Modes_Mask_changed ( * * _Modes_Is_asr_disabled * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that Asynchronous + * Signal Processing is disabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_asr_disabled ( @@ -60,6 +56,10 @@ STATIC INLINE boolean _Modes_Is_asr_disabled ( * * _Modes_Is_preempt * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that preemption + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_preempt ( @@ -73,6 +73,10 @@ STATIC INLINE boolean _Modes_Is_preempt ( * * _Modes_Is_timeslice * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that timeslicing + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_timeslice ( @@ -86,6 +90,9 @@ STATIC INLINE boolean _Modes_Is_timeslice ( * * _Modes_Get_interrupt_level * + * DESCRIPTION: + * + * This function returns the interrupt level portion of the mode_set. */ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( @@ -99,6 +106,10 @@ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( * * _Modes_Set_interrupt_level * + * DESCRIPTION: + * + * This routine sets the current interrupt level to that specified + * in the mode_set. */ STATIC INLINE void _Modes_Set_interrupt_level ( @@ -112,6 +123,12 @@ STATIC INLINE void _Modes_Set_interrupt_level ( * * _Modes_Change * + * DESCRIPTION: + * + * This routine changes the modes in old_mode_set indicated by + * mask to the requested values in new_mode_set. The resulting + * mode set is returned in out_mode_set and the modes that changed + * is returned in changed. */ STATIC INLINE void _Modes_Change ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/options.inl b/c/src/exec/rtems/inline/rtems/rtems/options.inl index b3c7312010..9dba30e895 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/options.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/options.inl @@ -21,6 +21,10 @@ * * _Options_Is_no_wait * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in + * option_set, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_no_wait ( @@ -34,6 +38,10 @@ STATIC INLINE boolean _Options_Is_no_wait ( * * _Options_Is_any * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in + * OPTION_SET, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_any ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/part.inl b/c/src/exec/rtems/inline/rtems/rtems/part.inl index 78f86dcefc..9088755aa7 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/part.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/part.inl @@ -21,6 +21,11 @@ * * _Partition_Allocate_buffer * + * DESCRIPTION: + * + * This function attempts to allocate a buffer from the_partition. + * If successful, it returns the address of the allocated buffer. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Partition_Allocate_buffer ( @@ -34,6 +39,9 @@ STATIC INLINE void *_Partition_Allocate_buffer ( * * _Partition_Free_buffer * + * DESCRIPTION: + * + * This routine frees the_buffer to the_partition. */ STATIC INLINE void _Partition_Free_buffer ( @@ -48,6 +56,10 @@ STATIC INLINE void _Partition_Free_buffer ( * * _Partition_Is_buffer_on_boundary * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is on a valid buffer + * boundary for the_partition, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( @@ -69,6 +81,10 @@ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( * * _Partition_Is_buffer_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is a valid buffer from + * the_partition, otherwise FALSE is returned. */ STATIC INLINE boolean _Partition_Is_buffer_valid ( @@ -92,6 +108,11 @@ STATIC INLINE boolean _Partition_Is_buffer_valid ( * * _Partition_Is_buffer_size_aligned * + * DESCRIPTION: + * + * This function returns TRUE if the use of the specified buffer_size + * will result in the allocation of buffers whose first byte is + * properly aligned, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( @@ -105,6 +126,10 @@ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( * * _Partition_Allocate * + * DESCRIPTION: + * + * This function allocates a partition control block from + * the inactive chain of free partition control blocks. */ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) @@ -116,6 +141,10 @@ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) * * _Partition_Free * + * DESCRIPTION: + * + * This routine frees a partition control block to the + * inactive chain of free partition control blocks. */ STATIC INLINE void _Partition_Free ( @@ -129,6 +158,15 @@ STATIC INLINE void _Partition_Free ( * * _Partition_Get * + * DESCRIPTION: + * + * This function maps partition IDs to partition control blocks. + * If ID corresponds to a local partition, then it returns + * the_partition control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. If the partition ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_partition is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_partition is undefined. */ STATIC INLINE Partition_Control *_Partition_Get ( @@ -144,6 +182,10 @@ STATIC INLINE Partition_Control *_Partition_Get ( * * _Partition_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_partition is NULL + * and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_null ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/ratemon.inl b/c/src/exec/rtems/inline/rtems/rtems/ratemon.inl index b748f919b3..0450988329 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/ratemon.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/ratemon.inl @@ -21,6 +21,10 @@ * * _Rate_monotonic_Allocate * + * DESCRIPTION: + * + * This function allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) @@ -33,6 +37,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) * * _Rate_monotonic_Free * + * DESCRIPTION: + * + * This routine allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE void _Rate_monotonic_Free ( @@ -46,6 +54,13 @@ STATIC INLINE void _Rate_monotonic_Free ( * * _Rate_monotonic_Get * + * DESCRIPTION: + * + * This function maps period IDs to period control blocks. + * If ID corresponds to a local period, then it returns + * the_period control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_period is undefined. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( @@ -61,6 +76,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( * * _Rate_monotonic_Is_active * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_active ( @@ -74,6 +93,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_active ( * * _Rate_monotonic_Is_inactive * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( @@ -87,6 +110,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( * * _Rate_monotonic_Is_expired * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the EXPIRED state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_expired ( @@ -100,6 +127,9 @@ STATIC INLINE boolean _Rate_monotonic_Is_expired ( * * _Rate_monotonic_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_period is NULL and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_null ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/region.inl b/c/src/exec/rtems/inline/rtems/rtems/region.inl index 5a0e4da1bf..aae042bed4 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/region.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/region.inl @@ -21,6 +21,10 @@ * * _Region_Allocate * + * DESCRIPTION: + * + * This function allocates a region control block from + * the inactive chain of free region control blocks. */ STATIC INLINE Region_Control *_Region_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Region_Control *_Region_Allocate( void ) * * _Region_Free * + * DESCRIPTION: + * + * This routine frees a region control block to the + * inactive chain of free region control blocks. */ STATIC INLINE void _Region_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Region_Free ( * * _Region_Get * + * DESCRIPTION: + * + * This function maps region IDs to region control blocks. + * If ID corresponds to a local region, then it returns + * the_region control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_region is undefined. */ STATIC INLINE Region_Control *_Region_Get ( @@ -60,6 +75,11 @@ STATIC INLINE Region_Control *_Region_Get ( * * _Region_Allocate_segment * + * DESCRIPTION: + * + * This function attempts to allocate a segment from the_region. + * If successful, it returns the address of the allocated segment. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Region_Allocate_segment ( @@ -74,6 +94,9 @@ STATIC INLINE void *_Region_Allocate_segment ( * * _Region_Free_segment * + * DESCRIPTION: + * + * This function frees the_segment to the_region. */ STATIC INLINE boolean _Region_Free_segment ( @@ -88,6 +111,9 @@ STATIC INLINE boolean _Region_Free_segment ( * * _Region_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_region is NULL and FALSE otherwise. */ STATIC INLINE boolean _Region_Is_null ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/sem.inl b/c/src/exec/rtems/inline/rtems/rtems/sem.inl index 518684a97a..c80431f9b1 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/sem.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/sem.inl @@ -21,6 +21,10 @@ * * _Semaphore_Allocate * + * DESCRIPTION: + * + * This function allocates a semaphore control block from + * the inactive chain of free semaphore control blocks. */ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) * * _Semaphore_Free * + * DESCRIPTION: + * + * This routine frees a semaphore control block to the + * inactive chain of free semaphore control blocks. */ STATIC INLINE void _Semaphore_Free ( @@ -45,6 +53,15 @@ STATIC INLINE void _Semaphore_Free ( * * _Semaphore_Get * + * DESCRIPTION: + * + * This function maps semaphore IDs to semaphore control blocks. + * If ID corresponds to a local semaphore, then it returns + * the_semaphore control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the semaphore ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_semaphore is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_semaphore is undefined. */ STATIC INLINE Semaphore_Control *_Semaphore_Get ( @@ -60,6 +77,9 @@ STATIC INLINE Semaphore_Control *_Semaphore_Get ( * * _Semaphore_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */ STATIC INLINE boolean _Semaphore_Is_null ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/status.inl b/c/src/exec/rtems/inline/rtems/rtems/status.inl index 1db5a1e89f..f85b4c6d0b 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/status.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/status.inl @@ -21,6 +21,10 @@ * * rtems_is_status_successful * + * DESCRIPTION: + * + * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_is_status_successful( @@ -34,6 +38,10 @@ STATIC INLINE boolean rtems_is_status_successful( * * rtems_are_statuses_equal * + * DESCRIPTION: + * + * This function returns TRUE if the status code1 is equal to code2, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_are_statuses_equal( diff --git a/c/src/exec/rtems/inline/rtems/rtems/support.inl b/c/src/exec/rtems/inline/rtems/rtems/support.inl index 2f98a98ad0..856b24e7f9 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/support.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/support.inl @@ -21,6 +21,9 @@ * * rtems_is_name_valid * + * DESCRIPTION: + * + * This function returns TRUE if the name is valid, and FALSE otherwise. */ STATIC INLINE rtems_boolean rtems_is_name_valid ( @@ -34,6 +37,10 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( * * rtems_name_to_characters * + * DESCRIPTION: + * + * This function breaks the object name into the four component + * characters C1, C2, C3, and C4. */ STATIC INLINE void rtems_name_to_characters( diff --git a/c/src/exec/rtems/inline/rtems/rtems/tasks.inl b/c/src/exec/rtems/inline/rtems/rtems/tasks.inl index ccd2de2613..6caa34ea80 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/tasks.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/tasks.inl @@ -21,6 +21,10 @@ * * _RTEMS_tasks_Allocate * + * DESCRIPTION: + * + * This function allocates a task control block from + * the inactive chain of free task control blocks. */ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) * * _RTEMS_tasks_Free * + * DESCRIPTION: + * + * This routine frees a task control block to the + * inactive chain of free task control blocks. */ STATIC INLINE void _RTEMS_tasks_Free ( @@ -47,6 +55,10 @@ STATIC INLINE void _RTEMS_tasks_Free ( /*PAGE * * _RTEMS_tasks_Priority_to_Core + * + * DESCRIPTION: + * + * This function converts an RTEMS API priority into a core priority. */ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( @@ -60,6 +72,10 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( * * _RTEMS_tasks_Priority_is_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_priority is a valid user task priority + * and FALSE otherwise. */ STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( diff --git a/c/src/exec/rtems/inline/rtems/rtems/timer.inl b/c/src/exec/rtems/inline/rtems/rtems/timer.inl index 7af3b9fa3d..dedcdffa36 100644 --- a/c/src/exec/rtems/inline/rtems/rtems/timer.inl +++ b/c/src/exec/rtems/inline/rtems/rtems/timer.inl @@ -21,6 +21,10 @@ * * _Timer_Allocate * + * DESCRIPTION: + * + * This function allocates a timer control block from + * the inactive chain of free timer control blocks. */ STATIC INLINE Timer_Control *_Timer_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Timer_Control *_Timer_Allocate( void ) * * _Timer_Free * + * DESCRIPTION: + * + * This routine frees a timer control block to the + * inactive chain of free timer control blocks. */ STATIC INLINE void _Timer_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Timer_Free ( * * _Timer_Get * + * DESCRIPTION: + * + * This function maps timer IDs to timer control blocks. + * If ID corresponds to a local timer, then it returns + * the timer control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Timer_Control *_Timer_Get ( @@ -60,6 +75,10 @@ STATIC INLINE Timer_Control *_Timer_Get ( * * _Timer_Is_interval_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_interval_class ( @@ -73,6 +92,10 @@ STATIC INLINE boolean _Timer_Is_interval_class ( * * _Timer_Is_time_of_day_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( @@ -86,6 +109,10 @@ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( * * _Timer_Is_dormant_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of a DORMANT + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_dormant_class ( @@ -99,6 +126,9 @@ STATIC INLINE boolean _Timer_Is_dormant_class ( * * _Timer_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_timer is NULL and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_null ( diff --git a/c/src/exec/rtems/inline/sem.inl b/c/src/exec/rtems/inline/sem.inl index 518684a97a..c80431f9b1 100644 --- a/c/src/exec/rtems/inline/sem.inl +++ b/c/src/exec/rtems/inline/sem.inl @@ -21,6 +21,10 @@ * * _Semaphore_Allocate * + * DESCRIPTION: + * + * This function allocates a semaphore control block from + * the inactive chain of free semaphore control blocks. */ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) * * _Semaphore_Free * + * DESCRIPTION: + * + * This routine frees a semaphore control block to the + * inactive chain of free semaphore control blocks. */ STATIC INLINE void _Semaphore_Free ( @@ -45,6 +53,15 @@ STATIC INLINE void _Semaphore_Free ( * * _Semaphore_Get * + * DESCRIPTION: + * + * This function maps semaphore IDs to semaphore control blocks. + * If ID corresponds to a local semaphore, then it returns + * the_semaphore control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the semaphore ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_semaphore is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_semaphore is undefined. */ STATIC INLINE Semaphore_Control *_Semaphore_Get ( @@ -60,6 +77,9 @@ STATIC INLINE Semaphore_Control *_Semaphore_Get ( * * _Semaphore_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */ STATIC INLINE boolean _Semaphore_Is_null ( diff --git a/c/src/exec/rtems/inline/status.inl b/c/src/exec/rtems/inline/status.inl index 1db5a1e89f..f85b4c6d0b 100644 --- a/c/src/exec/rtems/inline/status.inl +++ b/c/src/exec/rtems/inline/status.inl @@ -21,6 +21,10 @@ * * rtems_is_status_successful * + * DESCRIPTION: + * + * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_is_status_successful( @@ -34,6 +38,10 @@ STATIC INLINE boolean rtems_is_status_successful( * * rtems_are_statuses_equal * + * DESCRIPTION: + * + * This function returns TRUE if the status code1 is equal to code2, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_are_statuses_equal( diff --git a/c/src/exec/rtems/inline/support.inl b/c/src/exec/rtems/inline/support.inl index 2f98a98ad0..856b24e7f9 100644 --- a/c/src/exec/rtems/inline/support.inl +++ b/c/src/exec/rtems/inline/support.inl @@ -21,6 +21,9 @@ * * rtems_is_name_valid * + * DESCRIPTION: + * + * This function returns TRUE if the name is valid, and FALSE otherwise. */ STATIC INLINE rtems_boolean rtems_is_name_valid ( @@ -34,6 +37,10 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( * * rtems_name_to_characters * + * DESCRIPTION: + * + * This function breaks the object name into the four component + * characters C1, C2, C3, and C4. */ STATIC INLINE void rtems_name_to_characters( diff --git a/c/src/exec/rtems/inline/tasks.inl b/c/src/exec/rtems/inline/tasks.inl index ccd2de2613..6caa34ea80 100644 --- a/c/src/exec/rtems/inline/tasks.inl +++ b/c/src/exec/rtems/inline/tasks.inl @@ -21,6 +21,10 @@ * * _RTEMS_tasks_Allocate * + * DESCRIPTION: + * + * This function allocates a task control block from + * the inactive chain of free task control blocks. */ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) * * _RTEMS_tasks_Free * + * DESCRIPTION: + * + * This routine frees a task control block to the + * inactive chain of free task control blocks. */ STATIC INLINE void _RTEMS_tasks_Free ( @@ -47,6 +55,10 @@ STATIC INLINE void _RTEMS_tasks_Free ( /*PAGE * * _RTEMS_tasks_Priority_to_Core + * + * DESCRIPTION: + * + * This function converts an RTEMS API priority into a core priority. */ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( @@ -60,6 +72,10 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( * * _RTEMS_tasks_Priority_is_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_priority is a valid user task priority + * and FALSE otherwise. */ STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( diff --git a/c/src/exec/rtems/inline/timer.inl b/c/src/exec/rtems/inline/timer.inl index 7af3b9fa3d..dedcdffa36 100644 --- a/c/src/exec/rtems/inline/timer.inl +++ b/c/src/exec/rtems/inline/timer.inl @@ -21,6 +21,10 @@ * * _Timer_Allocate * + * DESCRIPTION: + * + * This function allocates a timer control block from + * the inactive chain of free timer control blocks. */ STATIC INLINE Timer_Control *_Timer_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Timer_Control *_Timer_Allocate( void ) * * _Timer_Free * + * DESCRIPTION: + * + * This routine frees a timer control block to the + * inactive chain of free timer control blocks. */ STATIC INLINE void _Timer_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Timer_Free ( * * _Timer_Get * + * DESCRIPTION: + * + * This function maps timer IDs to timer control blocks. + * If ID corresponds to a local timer, then it returns + * the timer control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Timer_Control *_Timer_Get ( @@ -60,6 +75,10 @@ STATIC INLINE Timer_Control *_Timer_Get ( * * _Timer_Is_interval_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_interval_class ( @@ -73,6 +92,10 @@ STATIC INLINE boolean _Timer_Is_interval_class ( * * _Timer_Is_time_of_day_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( @@ -86,6 +109,10 @@ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( * * _Timer_Is_dormant_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of a DORMANT + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_dormant_class ( @@ -99,6 +126,9 @@ STATIC INLINE boolean _Timer_Is_dormant_class ( * * _Timer_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_timer is NULL and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_null ( diff --git a/c/src/exec/rtems/macros/modes.inl b/c/src/exec/rtems/macros/modes.inl index 5f71796c07..a7dea6516d 100644 --- a/c/src/exec/rtems/macros/modes.inl +++ b/c/src/exec/rtems/macros/modes.inl @@ -19,14 +19,6 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ - ( (_mode_set) & RTEMS_INTERRUPT_MASK ) - -/*PAGE - * * _Modes_Mask_changed * */ diff --git a/c/src/exec/rtems/macros/rtems/rtems/modes.inl b/c/src/exec/rtems/macros/rtems/rtems/modes.inl index 5f71796c07..a7dea6516d 100644 --- a/c/src/exec/rtems/macros/rtems/rtems/modes.inl +++ b/c/src/exec/rtems/macros/rtems/rtems/modes.inl @@ -19,14 +19,6 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ - ( (_mode_set) & RTEMS_INTERRUPT_MASK ) - -/*PAGE - * * _Modes_Mask_changed * */ diff --git a/c/src/exec/sapi/headers/extension.h b/c/src/exec/sapi/headers/extension.h index 0d6433fa5e..8f46ed80dd 100644 --- a/c/src/exec/sapi/headers/extension.h +++ b/c/src/exec/sapi/headers/extension.h @@ -124,60 +124,9 @@ rtems_status_code rtems_extension_delete( Objects_Id id ); -/* - * _Extension_Allocate - * - * DESCRIPTION: - * - * This function allocates a extension control block from - * the inactive chain of free extension control blocks. - */ - -STATIC INLINE Extension_Control *_Extension_Allocate( void ); - -/* - * _Extension_Free - * - * DESCRIPTION: - * - * This routine frees a extension control block to the - * inactive chain of free extension control blocks. - */ - -STATIC INLINE void _Extension_Free ( - Extension_Control *the_extension -); - -/* - * _Extension_Get - * - * DESCRIPTION: - * - * This function maps extension IDs to extension control blocks. - * If ID corresponds to a local extension, then it returns - * the extension control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Extension_Control *_Extension_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Extension_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_extension is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Extension_Is_null( - Extension_Control *the_extension -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/extension.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/sapi/include/rtems/extension.h b/c/src/exec/sapi/include/rtems/extension.h index 0d6433fa5e..8f46ed80dd 100644 --- a/c/src/exec/sapi/include/rtems/extension.h +++ b/c/src/exec/sapi/include/rtems/extension.h @@ -124,60 +124,9 @@ rtems_status_code rtems_extension_delete( Objects_Id id ); -/* - * _Extension_Allocate - * - * DESCRIPTION: - * - * This function allocates a extension control block from - * the inactive chain of free extension control blocks. - */ - -STATIC INLINE Extension_Control *_Extension_Allocate( void ); - -/* - * _Extension_Free - * - * DESCRIPTION: - * - * This routine frees a extension control block to the - * inactive chain of free extension control blocks. - */ - -STATIC INLINE void _Extension_Free ( - Extension_Control *the_extension -); - -/* - * _Extension_Get - * - * DESCRIPTION: - * - * This function maps extension IDs to extension control blocks. - * If ID corresponds to a local extension, then it returns - * the extension control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Extension_Control *_Extension_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Extension_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_extension is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Extension_Is_null( - Extension_Control *the_extension -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/extension.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/sapi/inline/extension.inl b/c/src/exec/sapi/inline/extension.inl index 27941923b0..c7757ff280 100644 --- a/c/src/exec/sapi/inline/extension.inl +++ b/c/src/exec/sapi/inline/extension.inl @@ -21,6 +21,10 @@ * * _Extension_Allocate * + * DESCRIPTION: + * + * This function allocates a extension control block from + * the inactive chain of free extension control blocks. */ STATIC INLINE Extension_Control *_Extension_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Extension_Control *_Extension_Allocate( void ) * * _Extension_Free * + * DESCRIPTION: + * + * This routine frees a extension control block to the + * inactive chain of free extension control blocks. */ STATIC INLINE void _Extension_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Extension_Free ( * * _Extension_Get * + * DESCRIPTION: + * + * This function maps extension IDs to extension control blocks. + * If ID corresponds to a local extension, then it returns + * the extension control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Extension_Control *_Extension_Get ( @@ -60,6 +75,9 @@ STATIC INLINE Extension_Control *_Extension_Get ( * * _Extension_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_extension is NULL and FALSE otherwise. */ STATIC INLINE boolean _Extension_Is_null ( diff --git a/c/src/exec/sapi/inline/rtems/extension.inl b/c/src/exec/sapi/inline/rtems/extension.inl index 27941923b0..c7757ff280 100644 --- a/c/src/exec/sapi/inline/rtems/extension.inl +++ b/c/src/exec/sapi/inline/rtems/extension.inl @@ -21,6 +21,10 @@ * * _Extension_Allocate * + * DESCRIPTION: + * + * This function allocates a extension control block from + * the inactive chain of free extension control blocks. */ STATIC INLINE Extension_Control *_Extension_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Extension_Control *_Extension_Allocate( void ) * * _Extension_Free * + * DESCRIPTION: + * + * This routine frees a extension control block to the + * inactive chain of free extension control blocks. */ STATIC INLINE void _Extension_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Extension_Free ( * * _Extension_Get * + * DESCRIPTION: + * + * This function maps extension IDs to extension control blocks. + * If ID corresponds to a local extension, then it returns + * the extension control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Extension_Control *_Extension_Get ( @@ -60,6 +75,9 @@ STATIC INLINE Extension_Control *_Extension_Get ( * * _Extension_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_extension is NULL and FALSE otherwise. */ STATIC INLINE boolean _Extension_Is_null ( diff --git a/c/src/exec/score/headers/address.h b/c/src/exec/score/headers/address.h index be056f220a..ec5ec6b03e 100644 --- a/c/src/exec/score/headers/address.h +++ b/c/src/exec/score/headers/address.h @@ -21,83 +21,9 @@ extern "C" { #endif -/* - * _Addresses_Add_offset - * - * DESCRIPTION: - * - * This function is used to add an offset to a base address. - * It returns the resulting address. This address is typically - * converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Add_offset ( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract_offset - * - * DESCRIPTION: - * - * This function is used to subtract an offset from a base - * address. It returns the resulting address. This address is - * typically converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Subtract_offset( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract - * - * DESCRIPTION: - * - * This function is used to subtract two addresses. It returns the - * resulting offset. - */ - -STATIC INLINE unsigned32 _Addresses_Subtract ( - void *left, - void *right -); - -/* - * _Addresses_Is_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is correctly - * aligned for this processor and FALSE otherwise. Proper alignment - * is based on correctness and efficiency. - */ - -STATIC INLINE boolean _Addresses_Is_aligned ( - void *address -); - -/* - * _Addresses_Is_in_range - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is within the - * memory range specified and FALSE otherwise. base is the address - * of the first byte in the memory range and limit is the address - * of the last byte in the memory range. The base address is - * assumed to be lower than the limit address. - */ - -STATIC INLINE boolean _Addresses_Is_in_range ( - void *address, - void *base, - void *limit -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/address.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/chain.h b/c/src/exec/score/headers/chain.h index 1d6c8f1db4..6eed361e88 100644 --- a/c/src/exec/score/headers/chain.h +++ b/c/src/exec/score/headers/chain.h @@ -84,49 +84,6 @@ void _Chain_Initialize( ); /* - * _Chain_Initialize_empty - * - * DESCRIPTION: - * - * This routine initializes the specified chain to contain zero nodes. - * - */ - -STATIC INLINE void _Chain_Initialize_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Are_nodes_equal - * - * DESCRIPTION: - * - * This function returns TRUE if LEFT and RIGHT are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Are_nodes_equal( - Chain_Node *left, - Chain_Node *right -); - -/* - * _Chain_Extract_unprotected - * - * DESCRIPTION: - * - * This routine extracts the_node from the chain on which it resides. - * It does NOT disable interrupts to insure the atomicity of the - * extract operation. - * - */ - -STATIC INLINE void _Chain_Extract_unprotected( - Chain_Node *the_node -); - -/* * _Chain_Extract * * DESCRIPTION: @@ -142,22 +99,6 @@ void _Chain_Extract( ); /* - * _Chain_Get_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. - * It does NOT disable interrupts to insure the atomicity of the - * get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_unprotected( - Chain_Control *the_chain -); - -/* * _Chain_Get * * DESCRIPTION: @@ -174,37 +115,6 @@ Chain_Node *_Chain_Get( ); /* - * _Chain_Get_first_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. It does NOT disable interrupts to insure - * the atomicity of the get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( - Chain_Control *the_chain -); - -/* - * _Chain_Insert_unprotected - * - * DESCRIPTION: - * - * This routine inserts the_node on a chain immediately following - * after_node. It does NOT disable interrupts to insure the atomicity - * of the extract operation. - * - */ - -STATIC INLINE void _Chain_Insert_unprotected( - Chain_Node *after_node, - Chain_Node *the_node -); - -/* * _Chain_Insert * * DESCRIPTION: @@ -221,22 +131,6 @@ void _Chain_Insert( ); /* - * _Chain_Append_unprotected - * - * DESCRIPTION: - * - * This routine appends the_node onto the end of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * append operation. - * - */ - -STATIC INLINE void _Chain_Append_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* * _Chain_Append * * DESCRIPTION: @@ -252,177 +146,9 @@ void _Chain_Append( Chain_Node *the_node ); -/* - * _Chain_Prepend_unprotected - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Prepend - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It disables interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Head - * - * DESCRIPTION: - * - * This function returns a pointer to the first node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Head( - Chain_Control *the_chain -); - -/* - * _Chain_Tail - * - * DESCRIPTION: - * - * This function returns a pointer to the last node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Tail( - Chain_Control *the_chain -); - -/* - * _Chain_Is_head - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the head of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_head( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_tail - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the tail of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_tail( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_first - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the first node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_first( - Chain_Node *the_node -); - -/* - * _Chain_Is_last - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the last node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_last( - Chain_Node *the_node -); - -/* - * _Chain_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if there a no nodes on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Has_only_one_node - * - * DESCRIPTION: - * - * This function returns TRUE if there is only one node on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Has_only_one_node( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_chain is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null_node - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null_node( - Chain_Node *the_node -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/chain.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/coremsg.h b/c/src/exec/score/headers/coremsg.h index 737004aeb8..b51e07ef61 100644 --- a/c/src/exec/score/headers/coremsg.h +++ b/c/src/exec/score/headers/coremsg.h @@ -196,41 +196,6 @@ unsigned32 _CORE_message_queue_Flush_support( ); /* - * _CORE_message_queue_send - * - * DESCRIPTION: - * - * This routine sends a message to the end of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* - * - * _CORE_message_queue_Urgent - * - * DESCRIPTION: - * - * This routine sends a message to the front of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* * * _CORE_message_queue_Broadcast * @@ -296,144 +261,9 @@ void _CORE_message_queue_Seize( Watchdog_Interval timeout ); -/* - * _CORE_message_queue_Allocate_message_buffer - * - * DESCRIPTION: - * - * This function allocates a message buffer from the inactive - * message buffer chain. - */ - -STATIC INLINE CORE_message_queue_Buffer_control * - _CORE_message_queue_Allocate_message_buffer ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Free_message_buffer - * - * DESCRIPTION: - * - * This routine frees a message buffer to the inactive - * message buffer chain. - */ - -STATIC INLINE void _CORE_message_queue_Free_message_buffer ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Copy_buffer - * - * DESCRIPTION: - * - * This routine copies the contents of the source message buffer - * to the destination message buffer. - */ - -STATIC INLINE void _CORE_message_queue_Copy_buffer ( - void *source, - void *destination, - unsigned32 size -); - -/* - * _CORE_message_queue_Get_pending_message - * - * DESCRIPTION: - * - * This function removes the first message from the_message_queue - * and returns a pointer to it. - */ - -STATIC INLINE - CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_priority( - CORE_message_queue_Attributes *the_attribute -); - -/* - * _CORE_message_queue_Append - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Append ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Prepend - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Prepend ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_null ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_notify_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if notification is enabled on this message - * queue and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Set_notify - * - * DESCRIPTION: - * - * This routine initializes the notification information for the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Set_notify ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Notify_Handler the_handler, - void *the_argument -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremsg.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/coremutex.h b/c/src/exec/score/headers/coremutex.h index 2e8d16a0c1..73b7e34417 100644 --- a/c/src/exec/score/headers/coremutex.h +++ b/c/src/exec/score/headers/coremutex.h @@ -158,85 +158,9 @@ void _CORE_mutex_Flush( unsigned32 status ); -/* - * _CORE_mutex_Is_locked - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex specified is locked and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_locked( - CORE_mutex_Control *the_mutex -); - -/* - * _CORE_mutex_Is_fifo - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_fifo( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is PRIORITY and - * FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_inherit_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * INHERIT_PRIORITY and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority_ceiling - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * PRIORITY_CEILING and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_nesting_allowed - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex allows a task to obtain a - * semaphore more than once and nest. - */ - -STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed( - CORE_mutex_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremutex.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/coresem.h b/c/src/exec/score/headers/coresem.h index cf40da4783..88f712be5d 100644 --- a/c/src/exec/score/headers/coresem.h +++ b/c/src/exec/score/headers/coresem.h @@ -143,32 +143,9 @@ void _CORE_semaphore_Flush( unsigned32 status ); -/* - * _CORE_semaphore_Get_count - * - * DESCRIPTION: - * - * This routine returns the current count associated with the semaphore. - */ - -STATIC INLINE unsigned32 _CORE_semaphore_Get_count( - CORE_semaphore_Control *the_semaphore -); - -/* - * _CORE_semaphore_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_semaphore_Is_priority( - CORE_semaphore_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coresem.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/heap.h b/c/src/exec/score/headers/heap.h index dd50a0de8a..c1a0650d0a 100644 --- a/c/src/exec/score/headers/heap.h +++ b/c/src/exec/score/headers/heap.h @@ -214,189 +214,9 @@ void _Heap_Walk( boolean do_dump ); -/* - * _Heap_Head - * - * DESCRIPTION: - * - * This function returns the head of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Head ( - Heap_Control *the_heap -); - -/* - * _Heap_Tail - * - * DESCRIPTION: - * - * This function returns the tail of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Tail ( - Heap_Control *the_heap -); - -/* - * _Heap_Previous_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * precedes the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Previous_block ( - Heap_Block *the_block -); - -/* - * _Heap_Next_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * follows the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Next_block ( - Heap_Block *the_block -); - -/* - * _Heap_Block_at - * - * DESCRIPTION: - * - * This function calculates and returns a block's location (address) - * in the heap based upad a base address and an offset. - */ - -STATIC INLINE Heap_Block *_Heap_Block_at( - void *base, - unsigned32 offset -); - -/*PAGE - * - * _Heap_User_block_at - * - */ - -STATIC INLINE Heap_Block *_Heap_User_block_at( - void *base -); - -/* - * _Heap_Is_previous_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the previous block of the_block - * is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_previous_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the block is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_used - * - * DESCRIPTION: - * - * This function returns TRUE if the block is currently allocated, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_used ( - Heap_Block *the_block -); - -/* - * _Heap_Block_size - * - * DESCRIPTION: - * - * This function returns the size of the_block in bytes. - */ - -STATIC INLINE unsigned32 _Heap_Block_size ( - Heap_Block *the_block -); - -/* - * _Heap_Start_of_user_area - * - * DESCRIPTION: - * - * This function returns the starting address of the portion of the block - * which the user may access. - */ - -STATIC INLINE void *_Heap_Start_of_user_area ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_in - * - * DESCRIPTION: - * - * This function returns TRUE if the_block is within the memory area - * managed by the_heap, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_in ( - Heap_Control *the_heap, - Heap_Block *the_block -); - - -/* - * _Heap_Is_page_size_valid - * - * DESCRIPTION: - * - * This function validates a specified heap page size. If the page size - * is 0 or if lies outside a page size alignment boundary it is invalid - * and FALSE is returned. Otherwise, the page size is valid and TRUE is - * returned. - */ - -STATIC INLINE boolean _Heap_Is_page_size_valid( - unsigned32 page_size -); - -/* - * _Heap_Build_flag - * - * DESCRIPTION: - * - * This function returns the block flag composed of size and in_use_flag. - * The flag returned is suitable for use as a back or front flag in a - * heap block. - */ - -STATIC INLINE unsigned32 _Heap_Build_flag ( - unsigned32 size, - unsigned32 in_use_flag -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/heap.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/isr.h b/c/src/exec/score/headers/isr.h index bb80823cfb..e42d7b888e 100644 --- a/c/src/exec/score/headers/isr.h +++ b/c/src/exec/score/headers/isr.h @@ -141,19 +141,6 @@ void _ISR_Handler_initialization ( void ); _CPU_ISR_Flash( _level ) /* - * _ISR_Is_in_progress - * - * DESCRIPTION: - * - * This function returns TRUE if the processor is currently servicing - * and interrupt and FALSE otherwise. A return value of TRUE indicates - * that the caller is an interrupt service routine, NOT a thread. The - * directives available to an interrupt service routine are restricted. - */ - -STATIC INLINE boolean _ISR_Is_in_progress( void ); - -/* * _ISR_Install_vector * * DESCRIPTION: @@ -191,32 +178,6 @@ STATIC INLINE boolean _ISR_Is_in_progress( void ); _CPU_ISR_Set_level( _new_level ) /* - * _ISR_Is_vector_number_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the vector is a valid vector number - * for this processor and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_vector_number_valid ( - ISR_Vector_number vector -); - -/* - * _ISR_Is_valid_user_handler - * - * DESCRIPTION: - * - * This function returns TRUE if handler is the entry point of a valid - * use interrupt service routine and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_valid_user_handler ( - void *handler -); - -/* * _ISR_Handler * * DESCRIPTION: @@ -253,7 +214,9 @@ void _ISR_Handler( void ); void _ISR_Dispatch( void ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/isr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/mppkt.h b/c/src/exec/score/headers/mppkt.h index 37469d93b8..0c651bc4e8 100644 --- a/c/src/exec/score/headers/mppkt.h +++ b/c/src/exec/score/headers/mppkt.h @@ -88,33 +88,9 @@ typedef struct { #define MP_PACKET_MINIMUN_HETERO_CONVERSION ( sizeof( MP_packet_Prefix ) / 4 ) -/* - * _Mp_packet_Is_valid_packet_class - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is valid, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( - MP_packet_Classes the_packet_class -); - -/* - * _Mp_packet_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is null, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_null ( - MP_packet_Prefix *the_packet -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/mppkt.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/object.h b/c/src/exec/score/headers/object.h index 2c93a44379..d70009c3c9 100644 --- a/c/src/exec/score/headers/object.h +++ b/c/src/exec/score/headers/object.h @@ -383,176 +383,9 @@ Objects_Information *_Objects_Get_information( ); /* - * _Objects_Build_id - * - * DESCRIPTION: - * - * This function builds an object's id from the processor node and index - * values specified. - * - */ - -STATIC INLINE Objects_Id _Objects_Build_id( - Objects_Classes the_class, - unsigned32 node, - unsigned32 index -); - -/* - * _Objects_Get_class - * - * DESCRIPTION: - * - * This function returns the class portion of the ID. - * - */ - -STATIC INLINE Objects_Classes _Objects_Get_class( - Objects_Id id -); - -/* - * _Objects_Get_node - * - * DESCRIPTION: - * - * This function returns the node portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_node( - Objects_Id id -); - -/* - * _Objects_Get_index - * - * DESCRIPTION: - * - * This function returns the index portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_index( - Objects_Id id -); - -/* - * _Objects_Is_class_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the class is valid. - * - */ - -STATIC INLINE boolean _Objects_Is_class_valid( - Objects_Classes the_class -); - -/* - * _Objects_Is_local_node - * - * DESCRIPTION: - * - * This function returns TRUE if the node is of the local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_node( - unsigned32 node -); - -/* - * _Objects_Is_local_id - * - * DESCRIPTION: - * - * This function returns TRUE if the id is of a local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_id( - Objects_Id id -); - -/* - * _Objects_Are_ids_equal - * - * DESCRIPTION: - * - * This function returns TRUE if left and right are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Are_ids_equal( - Objects_Id left, - Objects_Id right -); - -/* - * _Objects_Allocate - * - * DESCRIPTION: - * - * This function allocates a object control block from - * the inactive chain of free object control blocks. - * - */ - -STATIC INLINE Objects_Control *_Objects_Allocate( - Objects_Information *information -); - -/* - * _Objects_Free - * - * DESCRIPTION: - * - * This function frees a object control block to the - * inactive chain of free object control blocks. - * - */ - -STATIC INLINE void _Objects_Free( - Objects_Information *information, - Objects_Control *the_object -); - -/* - * _Objects_Open - * - * DESCRIPTION: - * - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. - * + * Pieces of object.inl are promoted out to the user */ -STATIC INLINE void _Objects_Open( - Objects_Information *information, - Objects_Control *the_object, - Objects_Name name -); - -/* - * _Objects_Close - * - * DESCRIPTION: - * - * This function removes the_object control pointer and object name - * in the Local Pointer and Local Name Tables. - * - */ - -STATIC INLINE void _Objects_Close( - Objects_Information *information, - Objects_Control *the_object -); - #include <rtems/score/object.inl> #include <rtems/score/objectmp.h> diff --git a/c/src/exec/score/headers/objectmp.h b/c/src/exec/score/headers/objectmp.h index dbd468e169..96496656df 100644 --- a/c/src/exec/score/headers/objectmp.h +++ b/c/src/exec/score/headers/objectmp.h @@ -47,42 +47,6 @@ void _Objects_MP_Handler_initialization ( unsigned32 maximum_global_objects ); -/* - * _Objects_MP_Allocate_global_object - * - * DESCRIPTION: - * - * This function allocates a Global Object control block. - */ - -STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( - void -); - -/* - * _Objects_MP_Free_global_object - * - * DESCRIPTION: - * - * This routine deallocates a Global Object control block. - */ - -STATIC INLINE void _Objects_MP_Free_global_object ( - Objects_MP_Control *the_object -); - -/* - * _Objects_MP_Is_null_global_object - * - * DESCRIPTION: - * - * This function returns whether the global object is NULL or not. - */ - -STATIC INLINE boolean _Objects_MP_Is_null_global_object ( - Objects_MP_Control *the_object -); - /*PAGE * * _Objects_MP_Open @@ -176,7 +140,9 @@ void _Objects_MP_Is_remote ( EXTERN unsigned32 _Objects_MP_Maximum_global_objects; EXTERN Chain_Control _Objects_MP_Inactive_global_objects; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/objectmp.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/priority.h b/c/src/exec/score/headers/priority.h index a4a96045d5..b7de14f0f9 100644 --- a/c/src/exec/score/headers/priority.h +++ b/c/src/exec/score/headers/priority.h @@ -67,164 +67,26 @@ EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; */ /* - * _Priority_Handler_initialization + * Priority Bitfield Manipulation Routines * - * DESCRIPTION: + * NOTE: * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _Priority_Handler_initialization( void ); - -/* - * _Priority_Is_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_priority if valid for a - * user task, and FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_valid ( - Priority_Control the_priority -); - -/* - * _Priority_Major - * - * DESCRIPTION: - * - * This function returns the major portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Major ( - Priority_Control the_priority -); - -/* - * _Priority_Minor - * - * DESCRIPTION: - * - * This function returns the minor portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Minor ( - Priority_Control the_priority -); - -/* - * _Priority_Mask - * - * DESCRIPTION: - * - * This function returns the mask associated with the major or minor - * number passed to it. + * These may simply be pass throughs to CPU dependent routines. */ -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Mask ( - unsigned32 bit_number -); - -#else +#if ( CPU_USE_GENERIC_BITFIELD_CODE == FALSE ) #define _Priority_Mask( _bit_number ) \ _CPU_Priority_Mask( _bit_number ) -#endif - -/* - * _Priority_Bits_index - * - * DESCRIPTION: - * - * This function translates the bit numbers returned by the bit scan - * of a priority bit field into something suitable for use as - * a major or minor component of a priority. - */ - -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Bits_index ( - unsigned32 bit_number -); - -#else - #define _Priority_Bits_index( _priority ) \ _CPU_Priority_bits_index( _priority ) #endif -/* - * _Priority_Add_to_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been readied. - */ - -STATIC INLINE void _Priority_Add_to_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Remove_from_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been removed from the - * ready state. - */ - -STATIC INLINE void _Priority_Remove_from_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Get_highest - * - * DESCRIPTION: - * - * This function returns the priority of the highest priority - * ready thread. - */ - -STATIC INLINE Priority_Control _Priority_Get_highest( void ); - -/* - * _Priority_Initialize_information - * - * DESCRIPTION: - * - * This routine initializes the_priority_map so that it - * contains the information necessary to manage a thread - * at new_priority. - */ - -STATIC INLINE void _Priority_Initialize_information( - Priority_Information *the_priority_map, - Priority_Control new_priority -); - -/* - * _Priority_Is_group_empty - * - * DESCRIPTION: - * - * This function returns TRUE if the priority GROUP is empty, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_group_empty ( - Priority_Control the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/priority.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/stack.h b/c/src/exec/score/headers/stack.h index a054dae3df..bf72782b42 100644 --- a/c/src/exec/score/headers/stack.h +++ b/c/src/exec/score/headers/stack.h @@ -38,54 +38,9 @@ typedef struct { void *area; /* low memory addr of stack */ } Stack_Control; -/* - * _Stack_Initialize - * - * DESCRIPTION: - * - * This routine initializes the_stack record to indicate that - * size bytes of memory starting at starting_address have been - * reserved for a stack. - */ - -STATIC INLINE void _Stack_Initialize ( - Stack_Control *the_stack, - void *starting_address, - unsigned32 size -); - -/* - * _Stack_Is_enough - * - * DESCRIPTION: - * - * This function returns TRUE if size bytes is enough memory for - * a valid stack area on this processor, and FALSE otherwise. - */ - -STATIC INLINE boolean _Stack_Is_enough ( - unsigned32 size -); - -/* - * _Stack_Adjust_size - * - * DESCRIPTION: - * - * This function increases the stack size to insure that the thread - * has the desired amount of stack space after the initial stack - * pointer is determined based on alignment restrictions. - * - * NOTE: - * - * The amount of adjustment for alignment is CPU dependent. - */ - -STATIC INLINE unsigned32 _Stack_Adjust_size ( - unsigned32 size -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/stack.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/states.h b/c/src/exec/score/headers/states.h index a120cadae3..1f8fd49fae 100644 --- a/c/src/exec/score/headers/states.h +++ b/c/src/exec/score/headers/states.h @@ -66,285 +66,9 @@ typedef unsigned32 States_Control; STATES_WAITING_FOR_EVENT | \ STATES_WAITING_ON_THREAD_QUEUE ) -/* - * _States_Set - * - * DESCRIPTION: - * - * This function sets the given states_to_set into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Set ( - States_Control states_to_set, - States_Control current_state -); - -/* - * _States_Clear - * - * DESCRIPTION: - * - * This function clears the given states_to_clear into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Clear ( - States_Control states_to_clear, - States_Control current_state -); - -/* - * _States_Is_ready - * - * DESCRIPTION: - * - * This function returns TRUE if the_states indicates that the - * state is READY, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_ready ( - States_Control the_states -); - -/* - * _States_Is_only_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is the ONLY state - * set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_only_dormant ( - States_Control the_states -); - -/* - * _States_Is_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_dormant ( - States_Control the_states -); - -/* - * _States_Is_suspended - * - * DESCRIPTION: - * - * This function returns TRUE if the SUSPENDED state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_suspended ( - States_Control the_states -); - -/* - * _States_Is_Transient - * - * DESCRIPTION: - * - * This function returns TRUE if the TRANSIENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_transient ( - States_Control the_states -); - -/* - * _States_Is_delaying - * - * DESCRIPTION: - * - * This function returns TRUE if the DELAYING state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_delaying ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_buffer - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_BUFFER state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_buffer ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_segment - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_segment ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_message - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_message ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_event - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_EVENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_event ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_mutex - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MUTEX state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_mutex ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEMAPHORE state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_semaphore ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_time - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_time ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_rpc_reply - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_period - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_PERIOD state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_period ( - States_Control the_states -); - -/* - * _States_Is_locally_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_locally_blocked ( - States_Control the_states -); - -/* - * _States_Is_waiting_on_thread_queue - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( - States_Control the_states -); - -/* - * _States_Is_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_blocked ( - States_Control the_states -); - -/* - * _States_Are_set - * - * DESCRIPTION: - * - * This function returns TRUE if any of the states in the mask - * are set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Are_set ( - States_Control the_states, - States_Control mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/states.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/sysstate.h b/c/src/exec/score/headers/sysstate.h index c5d8562001..d7e43b2356 100644 --- a/c/src/exec/score/headers/sysstate.h +++ b/c/src/exec/score/headers/sysstate.h @@ -53,105 +53,9 @@ EXTERN boolean _System_state_Is_multiprocessing; EXTERN System_state_Codes _System_state_Current; /* - * _System_state_Handler_initialization - * - * DESCRIPTION: - * - * This routine initializes the system state handler. - */ - -STATIC INLINE void _System_state_Handler_initialization ( - boolean is_multiprocessing -); - -/* - * _System_state_Set - * - * DESCRIPTION: - * - * This routine sets the current system state to that specified by - * the called. + * Make it possible for the application to get the system state information. */ -STATIC INLINE void _System_state_Set ( - System_state_Codes state -); - -/* - * _System_state_Get - * - * DESCRIPTION: - * - * This function returns the current system state. - */ - -STATIC INLINE System_state_Codes _System_state_Get ( void ); - -/* - * _System_state_Is_before_initialization - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before initialization" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_initialization ( - System_state_Codes state -); - -/* - * _System_state_Is_before_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_begin_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "begin multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_begin_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_up - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "up" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_up ( - System_state_Codes state -); - -/* - * _System_state_Is_failed - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "failed" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_failed ( - System_state_Codes state -); - #include <rtems/score/sysstate.inl> #ifdef __cplusplus diff --git a/c/src/exec/score/headers/thread.h b/c/src/exec/score/headers/thread.h index d904df439b..8abf7c3584 100644 --- a/c/src/exec/score/headers/thread.h +++ b/c/src/exec/score/headers/thread.h @@ -284,28 +284,6 @@ void _Thread_Create_idle( void ); void _Thread_Start_multitasking( void ); /* - * _Thread_Stop_multitasking - * - * DESCRIPTION: - * - * This routine halts multitasking and returns control to - * the "thread" (i.e. the BSP) which initially invoked the - * routine which initialized the system. - */ - -STATIC INLINE void _Thread_Stop_multitasking( void ); - -/* - * _Thread_Dispatch_initialization - * - * DESCRIPTION: - * - * This routine initializes the thread dispatching subsystem. - */ - -STATIC INLINE void _Thread_Dispatch_initialization( void ); - -/* * _Thread_Dispatch * * DESCRIPTION: @@ -487,43 +465,6 @@ void _Thread_Tickle_timeslice( void ); void _Thread_Yield_processor( void ); /* - * _Thread_Is_executing - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the currently executing - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the heir - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_executing_also_the_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the currently executing thread - * is also the heir thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ); - -/* * _Thread_Load_environment * * DESCRIPTION: @@ -604,215 +545,6 @@ void _Thread_Set_priority( boolean _Thread_Evaluate_mode( void ); /* - * _Thread_Resume - * - * DESCRIPTION: - * - * This routine clears the SUSPENDED state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Resume ( - Thread_Control *the_thread -); - -/* - * _Thread_Unblock - * - * DESCRIPTION: - * - * This routine clears any blocking state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Unblock ( - Thread_Control *the_thread -); - -/* - * _Thread_Restart_self - * - * DESCRIPTION: - * - * This routine resets the current context of the calling thread - * to that of its initial state. - */ - -STATIC INLINE void _Thread_Restart_self( void ); - -/* - * _Thread_Calculate_heir - * - * DESCRIPTION: - * - * This function returns a pointer to the highest priority - * ready thread. - */ - -STATIC INLINE void _Thread_Calculate_heir( void ); - -/* - * _Thread_Is_allocated_fp - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point context of - * the_thread is currently loaded in the floating point unit, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_allocated_fp ( - Thread_Control *the_thread -); - -/* - * _Thread_Deallocate_fp - * - * DESCRIPTION: - * - * This routine is invoked when the currently loaded floating - * point context is now longer associated with an active thread. - */ - -STATIC INLINE void _Thread_Deallocate_fp( void ); - -/* - * _Thread_Disable_dispatch - * - * DESCRIPTION: - * - * This routine prevents dispatching. - */ - -STATIC INLINE void _Thread_Disable_dispatch( void ); - -/* - * _Thread_Enable_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. If this is - * the outer most dispatching critical section, then a dispatching - * operation will be performed and, if necessary, control of the - * processor will be transferred to the heir thread. - */ - -#if ( CPU_INLINE_ENABLE_DISPATCH == TRUE ) - -STATIC INLINE void _Thread_Enable_dispatch(); - -#endif - -#if ( CPU_INLINE_ENABLE_DISPATCH == FALSE ) - -void _Thread_Enable_dispatch( void ); - -#endif - -/* - * _Thread_Unnest_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. However, - * no dispatching operation is performed even if this is the outer - * most dispatching critical section. - */ - -STATIC INLINE void _Thread_Unnest_dispatch( void ); - -/* - * _Thread_Is_dispatching_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ); - -/* - * _Thread_Is_context_switch_necessary - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ); - -/* - * _Thread_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_null ( - Thread_Control *the_thread -); - -/* - * _Thread_Get - * - * DESCRIPTION: - * - * This function maps thread IDs to thread control - * blocks. If ID corresponds to a local thread, then it - * returns the_thread control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the thread ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_thread is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_thread is undefined. - */ - -STATIC INLINE Thread_Control *_Thread_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Thread_Is_proxy_blocking - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to the - * status which indicates that a proxy is blocking, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_proxy_blocking ( - unsigned32 code -); - -/* - * _Thread_Internal_allocate - * - * DESCRIPTION: - * - * This routine allocates an internal thread. - */ - -STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ); - -/* - * _Thread_Internal_free - * - * DESCRIPTION: - * - * This routine frees an internal thread. - */ - -STATIC INLINE void _Thread_Internal_free ( - Thread_Control *the_task -); - -/* * _Thread_Idle_body * * DESCRIPTION: @@ -826,7 +558,9 @@ Thread _Thread_Idle_body( ); #endif +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/thread.inl> +#endif #include <rtems/score/threadmp.h> #ifdef __cplusplus diff --git a/c/src/exec/score/headers/threadmp.h b/c/src/exec/score/headers/threadmp.h index 4afc965381..0466a04065 100644 --- a/c/src/exec/score/headers/threadmp.h +++ b/c/src/exec/score/headers/threadmp.h @@ -26,8 +26,7 @@ extern "C" { * * DESCRIPTION: * - * This package is the specification for the Thread Handler's - * multiprocessing specific support routines. + * This routine initializes the multiprocessing portion of the Thread Handler. */ void _Thread_MP_Handler_initialization ( @@ -35,19 +34,6 @@ void _Thread_MP_Handler_initialization ( ); /* - * _Thread_MP_Is_receive - * - * DESCRIPTION: - * - * This function returns true if the thread in question is the - * multiprocessing receive thread. - */ - -STATIC INLINE boolean _Thread_MP_Is_receive ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Allocate_proxy * * DESCRIPTION: @@ -64,19 +50,6 @@ Thread_Control *_Thread_MP_Allocate_proxy ( ); /* - * _Thread_MP_Free_proxy - * - * DESCRIPTION: - * - * This routine frees a proxy control block to the - * inactive chain of free proxy control blocks. - */ - -STATIC INLINE void _Thread_MP_Free_proxy ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Find_proxy * * DESCRIPTION: @@ -104,7 +77,9 @@ EXTERN Thread_Control *_Thread_MP_Receive; EXTERN Chain_Control _Thread_MP_Active_proxies; EXTERN Chain_Control _Thread_MP_Inactive_proxies; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/threadmp.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/tod.h b/c/src/exec/score/headers/tod.h index 89ff118c33..b0fb686014 100644 --- a/c/src/exec/score/headers/tod.h +++ b/c/src/exec/score/headers/tod.h @@ -205,50 +205,6 @@ Watchdog_Interval _TOD_To_seconds( ); /* - * _TOD_Is_set - * - * DESCRIPTION: - * - * This function returns TRUE if the application has set the current - * time of day, and FALSE otherwise. - */ - -STATIC INLINE boolean _TOD_Is_set( void ); - -/* - * _TOD_Tickle_ticks - * - * DESCRIPTION: - * - * This routine increments the ticks field of the current time of - * day at each clock tick. - */ - -STATIC INLINE void _TOD_Tickle_ticks( void ); - -/* - * _TOD_Deactivate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Deactivate( void ); - -/* - * _TOD_Activate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Activate( - Watchdog_Interval ticks -); - -/* * _TOD_Tickle * * DESCRIPTION: @@ -292,7 +248,9 @@ void _TOD_Tickle( #define TOD_MILLISECONDS_TO_TICKS(_ms) \ (TOD_MILLISECONDS_TO_MICROSECONDS(_ms) / _TOD_Microseconds_per_tick) +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/tod.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/tqdata.h b/c/src/exec/score/headers/tqdata.h index a4a5551dfd..c9c9585f7f 100644 --- a/c/src/exec/score/headers/tqdata.h +++ b/c/src/exec/score/headers/tqdata.h @@ -48,11 +48,23 @@ typedef enum { } Thread_queue_States; /* - * The following record defines the control block used - * to manage each thread. + * The following constants are used to manage the priority queues. + * + * There are four chains used to maintain a priority -- each chain + * manages a distinct set of task priorities. The number of chains + * is determined by TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS. + * The following set must be consistent. + * + * The set below configures 4 headers -- each contains 64 priorities. + * Header x manages priority range (x*64) through ((x*64)+63). If + * the priority is more than half way through the priority range it + * is in, then the search is performed from the rear of the chain. + * This halves the search time to find the insertion point. */ -#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 /* # of pri groups */ +#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 +#define TASK_QUEUE_DATA_PRIORITIES_PER_HEADER 64 +#define TASK_QUEUE_DATA_REVERSE_SEARCH_MASK 0x20 typedef struct { union { @@ -67,47 +79,9 @@ typedef struct { unsigned32 count; } Thread_queue_Control; -/* - * _Thread_queue_Header_number - * - * DESCRIPTION: - * - * This function returns the index of the priority chain on which - * a thread of the_priority should be placed. - */ - -STATIC INLINE unsigned32 _Thread_queue_Header_number ( - Priority_Control the_priority -); - -/* - * _Thread_queue_Is_reverse_search - * - * DESCRIPTION: - * - * This function returns TRUE if the_priority indicates that the - * enqueue search should start at the front of this priority - * group chain, and FALSE if the search should start at the rear. - */ - -STATIC INLINE boolean _Thread_queue_Is_reverse_search ( - Priority_Control the_priority -); - -/* - * _Thread_queue_Enter_critical_section - * - * DESCRIPTION: - * - * This routine is invoked to indicate that the specified thread queue is - * entering a critical section. - */ - -STATIC INLINE void _Thread_queue_Enter_critical_section ( - Thread_queue_Control *the_thread_queue -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/tqdata.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/userext.h b/c/src/exec/score/headers/userext.h index 58fa087780..1a6ac3437e 100644 --- a/c/src/exec/score/headers/userext.h +++ b/c/src/exec/score/headers/userext.h @@ -108,56 +108,6 @@ EXTERN User_extensions_Control _User_extensions_Initial; EXTERN Chain_Control _User_extensions_List; - -/* - * _User_extensions_Handler_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _User_extensions_Handler_initialization ( - User_extensions_Table *initial_extensions -); - -/* - * _User_extensions_Add_set - * - * DESCRIPTION: - * - * This routine is used to add a user extension set to the active list. - */ - -STATIC INLINE void _User_extensions_Add_set ( - User_extensions_Control *the_extension, - User_extensions_Table *extension_table -); - -/* - * _User_extensions_Add_API_set - * - * DESCRIPTION: - * - * This routine is used to add an API extension set to the active list. - */ - -STATIC INLINE void _User_extensions_Add_API_set ( - User_extensions_Control *the_extension -); - -/* - * _User_extensions_Remove_set - * - * DESCRIPTION: - * - * This routine is used to remove a user extension set from the active list. - */ - -STATIC INLINE void _User_extensions_Remove_set ( - User_extensions_Control *the_extension -); - /* * _User_extensions_Thread_create * @@ -211,20 +161,6 @@ void _User_extensions_Thread_restart ( ); /* - * _User_extensions_Thread_switch - * - * DESCRIPTION: - * - * This routine is used to invoke the user extension which - * is invoked when a context switch occurs. - */ - -STATIC INLINE void _User_extensions_Thread_switch ( - Thread_Control *executing, - Thread_Control *heir -); - -/* * _User_extensions_Thread_begin * * DESCRIPTION: @@ -265,7 +201,9 @@ void _User_extensions_Fatal ( unsigned32 the_error ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/userext.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/watchdog.h b/c/src/exec/score/headers/watchdog.h index 5ac7eee641..9b13407c8e 100644 --- a/c/src/exec/score/headers/watchdog.h +++ b/c/src/exec/score/headers/watchdog.h @@ -116,24 +116,6 @@ EXTERN Chain_Control _Watchdog_Seconds_chain; void _Watchdog_Handler_initialization( void ); /* - * - * _Watchdog_Initialize - * - * DESCRIPTION: - * - * This routine initializes the specified watchdog. The watchdog is - * made inactive, the watchdog id and handler routine are set to the - * specified values. - */ - -STATIC INLINE void _Watchdog_Initialize( - Watchdog_Control *the_watchdog, - Watchdog_Service_routine_entry routine, - Objects_Id id, - void *user_data -); - -/* * _Watchdog_Remove * * DESCRIPTION: @@ -147,208 +129,6 @@ Watchdog_States _Watchdog_Remove ( ); /* - * - * _Watchdog_Is_active - * - * DESCRIPTION: - * - * This routine returns TRUE if the watchdog timer is in the ACTIVE - * state, and FALSE otherwise. - */ - -STATIC INLINE boolean _Watchdog_Is_active( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Activate - * - * DESCRIPTION: - * - * This routine activates THE_WATCHDOG timer which is already - * on a watchdog chain. - */ - -STATIC INLINE void _Watchdog_Activate( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Deactivate - * - * DESCRIPTION: - * - * This routine deactivates THE_WATCHDOG timer which will remain - * on a watchdog chain. - */ - -STATIC INLINE void _Watchdog_Deactivate( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Tickle_ticks - * - * DESCRIPTION: - * - * This routine is invoked at each clock tick to update the ticks - * watchdog chain. - */ - -STATIC INLINE void _Watchdog_Tickle_ticks( void ); - -/* - * - * _Watchdog_Tickle_seconds - * - * DESCRIPTION: - * - * This routine is invoked at each clock tick to update the seconds - * watchdog chain. - */ - -STATIC INLINE void _Watchdog_Tickle_seconds( void ); - -/* - * - * _Watchdog_Insert_ticks - * - * DESCRIPTION: - * - * This routine inserts THE_WATCHDOG into the ticks watchdog chain - * for a time of UNITS ticks. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -STATIC INLINE void _Watchdog_Insert_ticks( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Insert_seconds - * - * DESCRIPTION: - * - * This routine inserts THE_WATCHDOG into the seconds watchdog chain - * for a time of UNITS seconds. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -STATIC INLINE void _Watchdog_Insert_seconds( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Adjust_seconds - * - * DESCRIPTION: - * - * This routine adjusts the seconds watchdog chain in the forward - * or backward DIRECTION for UNITS seconds. This is invoked when the - * current time of day is changed. - */ - -STATIC INLINE void _Watchdog_Adjust_seconds( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Adjust_ticks - * - * DESCRIPTION: - * - * This routine adjusts the ticks watchdog chain in the forward - * or backward DIRECTION for UNITS ticks. - */ - -STATIC INLINE void _Watchdog_Adjust_ticks( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Reset - * - * DESCRIPTION: - * - * This routine resets THE_WATCHDOG timer to its state at INSERT - * time. This routine is valid only on interval watchdog timers - * and is used to make an interval watchdog timer fire "every" so - * many ticks. - */ - -STATIC INLINE void _Watchdog_Reset( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Next - * - * DESCRIPTION: - * - * This routine returns a pointer to the watchdog timer following - * THE_WATCHDOG on the watchdog chain. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_Next( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Previous - * - * DESCRIPTION: - * - * This routine returns a pointer to the watchdog timer preceding - * THE_WATCHDOG on the watchdog chain. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_Previous( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_First - * - * DESCRIPTION: - * - * This routine returns a pointer to the first watchdog timer - * on the watchdog chain HEADER. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_First( - Chain_Control *header -); - -/* - * - * _Watchdog_Last - * - * DESCRIPTION: - * - * This routine returns a pointer to the last watchdog timer - * on the watchdog chain HEADER. - */ -STATIC INLINE Watchdog_Control *_Watchdog_Last( - Chain_Control *header -); - -/* * _Watchdog_Adjust * * DESCRIPTION: @@ -393,7 +173,9 @@ void _Watchdog_Tickle ( Chain_Control *header ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/watchdog.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/headers/wkspace.h b/c/src/exec/score/headers/wkspace.h index ee2eb2d04f..cb82852ca5 100644 --- a/c/src/exec/score/headers/wkspace.h +++ b/c/src/exec/score/headers/wkspace.h @@ -33,33 +33,6 @@ extern "C" { EXTERN Heap_Control _Workspace_Area; /* executive heap header */ /* - * _Workspace_Handler_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _Workspace_Handler_initialization( - void *starting_address, - unsigned32 size -); - -/* - * _Workspace_Allocate - * - * DESCRIPTION: - * - * This routine returns the address of a block of memory of size - * bytes. If a block of the appropriate size cannot be allocated - * from the workspace, then NULL is returned. - */ - -STATIC INLINE void *_Workspace_Allocate( - unsigned32 size -); - -/* * _Workspace_Allocate_or_fatal_error * * DESCRIPTION: @@ -73,21 +46,9 @@ void *_Workspace_Allocate_or_fatal_error( unsigned32 size ); -/* - * _Workspace_Free - * - * DESCRIPTION: - * - * This function frees the specified block of memory. If the block - * belongs to the Workspace and can be successfully freed, then - * TRUE is returned. Otherwise FALSE is returned. - */ - -STATIC INLINE boolean _Workspace_Free( - void *block -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/wkspace.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/address.h b/c/src/exec/score/include/rtems/score/address.h index be056f220a..ec5ec6b03e 100644 --- a/c/src/exec/score/include/rtems/score/address.h +++ b/c/src/exec/score/include/rtems/score/address.h @@ -21,83 +21,9 @@ extern "C" { #endif -/* - * _Addresses_Add_offset - * - * DESCRIPTION: - * - * This function is used to add an offset to a base address. - * It returns the resulting address. This address is typically - * converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Add_offset ( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract_offset - * - * DESCRIPTION: - * - * This function is used to subtract an offset from a base - * address. It returns the resulting address. This address is - * typically converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Subtract_offset( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract - * - * DESCRIPTION: - * - * This function is used to subtract two addresses. It returns the - * resulting offset. - */ - -STATIC INLINE unsigned32 _Addresses_Subtract ( - void *left, - void *right -); - -/* - * _Addresses_Is_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is correctly - * aligned for this processor and FALSE otherwise. Proper alignment - * is based on correctness and efficiency. - */ - -STATIC INLINE boolean _Addresses_Is_aligned ( - void *address -); - -/* - * _Addresses_Is_in_range - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is within the - * memory range specified and FALSE otherwise. base is the address - * of the first byte in the memory range and limit is the address - * of the last byte in the memory range. The base address is - * assumed to be lower than the limit address. - */ - -STATIC INLINE boolean _Addresses_Is_in_range ( - void *address, - void *base, - void *limit -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/address.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/chain.h b/c/src/exec/score/include/rtems/score/chain.h index 1d6c8f1db4..6eed361e88 100644 --- a/c/src/exec/score/include/rtems/score/chain.h +++ b/c/src/exec/score/include/rtems/score/chain.h @@ -84,49 +84,6 @@ void _Chain_Initialize( ); /* - * _Chain_Initialize_empty - * - * DESCRIPTION: - * - * This routine initializes the specified chain to contain zero nodes. - * - */ - -STATIC INLINE void _Chain_Initialize_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Are_nodes_equal - * - * DESCRIPTION: - * - * This function returns TRUE if LEFT and RIGHT are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Are_nodes_equal( - Chain_Node *left, - Chain_Node *right -); - -/* - * _Chain_Extract_unprotected - * - * DESCRIPTION: - * - * This routine extracts the_node from the chain on which it resides. - * It does NOT disable interrupts to insure the atomicity of the - * extract operation. - * - */ - -STATIC INLINE void _Chain_Extract_unprotected( - Chain_Node *the_node -); - -/* * _Chain_Extract * * DESCRIPTION: @@ -142,22 +99,6 @@ void _Chain_Extract( ); /* - * _Chain_Get_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. - * It does NOT disable interrupts to insure the atomicity of the - * get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_unprotected( - Chain_Control *the_chain -); - -/* * _Chain_Get * * DESCRIPTION: @@ -174,37 +115,6 @@ Chain_Node *_Chain_Get( ); /* - * _Chain_Get_first_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. It does NOT disable interrupts to insure - * the atomicity of the get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( - Chain_Control *the_chain -); - -/* - * _Chain_Insert_unprotected - * - * DESCRIPTION: - * - * This routine inserts the_node on a chain immediately following - * after_node. It does NOT disable interrupts to insure the atomicity - * of the extract operation. - * - */ - -STATIC INLINE void _Chain_Insert_unprotected( - Chain_Node *after_node, - Chain_Node *the_node -); - -/* * _Chain_Insert * * DESCRIPTION: @@ -221,22 +131,6 @@ void _Chain_Insert( ); /* - * _Chain_Append_unprotected - * - * DESCRIPTION: - * - * This routine appends the_node onto the end of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * append operation. - * - */ - -STATIC INLINE void _Chain_Append_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* * _Chain_Append * * DESCRIPTION: @@ -252,177 +146,9 @@ void _Chain_Append( Chain_Node *the_node ); -/* - * _Chain_Prepend_unprotected - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Prepend - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It disables interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Head - * - * DESCRIPTION: - * - * This function returns a pointer to the first node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Head( - Chain_Control *the_chain -); - -/* - * _Chain_Tail - * - * DESCRIPTION: - * - * This function returns a pointer to the last node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Tail( - Chain_Control *the_chain -); - -/* - * _Chain_Is_head - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the head of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_head( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_tail - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the tail of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_tail( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_first - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the first node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_first( - Chain_Node *the_node -); - -/* - * _Chain_Is_last - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the last node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_last( - Chain_Node *the_node -); - -/* - * _Chain_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if there a no nodes on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Has_only_one_node - * - * DESCRIPTION: - * - * This function returns TRUE if there is only one node on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Has_only_one_node( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_chain is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null_node - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null_node( - Chain_Node *the_node -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/chain.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/coremsg.h b/c/src/exec/score/include/rtems/score/coremsg.h index 737004aeb8..b51e07ef61 100644 --- a/c/src/exec/score/include/rtems/score/coremsg.h +++ b/c/src/exec/score/include/rtems/score/coremsg.h @@ -196,41 +196,6 @@ unsigned32 _CORE_message_queue_Flush_support( ); /* - * _CORE_message_queue_send - * - * DESCRIPTION: - * - * This routine sends a message to the end of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* - * - * _CORE_message_queue_Urgent - * - * DESCRIPTION: - * - * This routine sends a message to the front of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* * * _CORE_message_queue_Broadcast * @@ -296,144 +261,9 @@ void _CORE_message_queue_Seize( Watchdog_Interval timeout ); -/* - * _CORE_message_queue_Allocate_message_buffer - * - * DESCRIPTION: - * - * This function allocates a message buffer from the inactive - * message buffer chain. - */ - -STATIC INLINE CORE_message_queue_Buffer_control * - _CORE_message_queue_Allocate_message_buffer ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Free_message_buffer - * - * DESCRIPTION: - * - * This routine frees a message buffer to the inactive - * message buffer chain. - */ - -STATIC INLINE void _CORE_message_queue_Free_message_buffer ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Copy_buffer - * - * DESCRIPTION: - * - * This routine copies the contents of the source message buffer - * to the destination message buffer. - */ - -STATIC INLINE void _CORE_message_queue_Copy_buffer ( - void *source, - void *destination, - unsigned32 size -); - -/* - * _CORE_message_queue_Get_pending_message - * - * DESCRIPTION: - * - * This function removes the first message from the_message_queue - * and returns a pointer to it. - */ - -STATIC INLINE - CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_priority( - CORE_message_queue_Attributes *the_attribute -); - -/* - * _CORE_message_queue_Append - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Append ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Prepend - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Prepend ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_null ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_notify_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if notification is enabled on this message - * queue and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Set_notify - * - * DESCRIPTION: - * - * This routine initializes the notification information for the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Set_notify ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Notify_Handler the_handler, - void *the_argument -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremsg.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/coremutex.h b/c/src/exec/score/include/rtems/score/coremutex.h index 2e8d16a0c1..73b7e34417 100644 --- a/c/src/exec/score/include/rtems/score/coremutex.h +++ b/c/src/exec/score/include/rtems/score/coremutex.h @@ -158,85 +158,9 @@ void _CORE_mutex_Flush( unsigned32 status ); -/* - * _CORE_mutex_Is_locked - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex specified is locked and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_locked( - CORE_mutex_Control *the_mutex -); - -/* - * _CORE_mutex_Is_fifo - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_fifo( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is PRIORITY and - * FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_inherit_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * INHERIT_PRIORITY and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority_ceiling - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * PRIORITY_CEILING and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_nesting_allowed - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex allows a task to obtain a - * semaphore more than once and nest. - */ - -STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed( - CORE_mutex_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremutex.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/coresem.h b/c/src/exec/score/include/rtems/score/coresem.h index cf40da4783..88f712be5d 100644 --- a/c/src/exec/score/include/rtems/score/coresem.h +++ b/c/src/exec/score/include/rtems/score/coresem.h @@ -143,32 +143,9 @@ void _CORE_semaphore_Flush( unsigned32 status ); -/* - * _CORE_semaphore_Get_count - * - * DESCRIPTION: - * - * This routine returns the current count associated with the semaphore. - */ - -STATIC INLINE unsigned32 _CORE_semaphore_Get_count( - CORE_semaphore_Control *the_semaphore -); - -/* - * _CORE_semaphore_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_semaphore_Is_priority( - CORE_semaphore_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coresem.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/heap.h b/c/src/exec/score/include/rtems/score/heap.h index dd50a0de8a..c1a0650d0a 100644 --- a/c/src/exec/score/include/rtems/score/heap.h +++ b/c/src/exec/score/include/rtems/score/heap.h @@ -214,189 +214,9 @@ void _Heap_Walk( boolean do_dump ); -/* - * _Heap_Head - * - * DESCRIPTION: - * - * This function returns the head of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Head ( - Heap_Control *the_heap -); - -/* - * _Heap_Tail - * - * DESCRIPTION: - * - * This function returns the tail of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Tail ( - Heap_Control *the_heap -); - -/* - * _Heap_Previous_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * precedes the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Previous_block ( - Heap_Block *the_block -); - -/* - * _Heap_Next_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * follows the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Next_block ( - Heap_Block *the_block -); - -/* - * _Heap_Block_at - * - * DESCRIPTION: - * - * This function calculates and returns a block's location (address) - * in the heap based upad a base address and an offset. - */ - -STATIC INLINE Heap_Block *_Heap_Block_at( - void *base, - unsigned32 offset -); - -/*PAGE - * - * _Heap_User_block_at - * - */ - -STATIC INLINE Heap_Block *_Heap_User_block_at( - void *base -); - -/* - * _Heap_Is_previous_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the previous block of the_block - * is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_previous_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the block is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_used - * - * DESCRIPTION: - * - * This function returns TRUE if the block is currently allocated, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_used ( - Heap_Block *the_block -); - -/* - * _Heap_Block_size - * - * DESCRIPTION: - * - * This function returns the size of the_block in bytes. - */ - -STATIC INLINE unsigned32 _Heap_Block_size ( - Heap_Block *the_block -); - -/* - * _Heap_Start_of_user_area - * - * DESCRIPTION: - * - * This function returns the starting address of the portion of the block - * which the user may access. - */ - -STATIC INLINE void *_Heap_Start_of_user_area ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_in - * - * DESCRIPTION: - * - * This function returns TRUE if the_block is within the memory area - * managed by the_heap, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_in ( - Heap_Control *the_heap, - Heap_Block *the_block -); - - -/* - * _Heap_Is_page_size_valid - * - * DESCRIPTION: - * - * This function validates a specified heap page size. If the page size - * is 0 or if lies outside a page size alignment boundary it is invalid - * and FALSE is returned. Otherwise, the page size is valid and TRUE is - * returned. - */ - -STATIC INLINE boolean _Heap_Is_page_size_valid( - unsigned32 page_size -); - -/* - * _Heap_Build_flag - * - * DESCRIPTION: - * - * This function returns the block flag composed of size and in_use_flag. - * The flag returned is suitable for use as a back or front flag in a - * heap block. - */ - -STATIC INLINE unsigned32 _Heap_Build_flag ( - unsigned32 size, - unsigned32 in_use_flag -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/heap.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/isr.h b/c/src/exec/score/include/rtems/score/isr.h index bb80823cfb..e42d7b888e 100644 --- a/c/src/exec/score/include/rtems/score/isr.h +++ b/c/src/exec/score/include/rtems/score/isr.h @@ -141,19 +141,6 @@ void _ISR_Handler_initialization ( void ); _CPU_ISR_Flash( _level ) /* - * _ISR_Is_in_progress - * - * DESCRIPTION: - * - * This function returns TRUE if the processor is currently servicing - * and interrupt and FALSE otherwise. A return value of TRUE indicates - * that the caller is an interrupt service routine, NOT a thread. The - * directives available to an interrupt service routine are restricted. - */ - -STATIC INLINE boolean _ISR_Is_in_progress( void ); - -/* * _ISR_Install_vector * * DESCRIPTION: @@ -191,32 +178,6 @@ STATIC INLINE boolean _ISR_Is_in_progress( void ); _CPU_ISR_Set_level( _new_level ) /* - * _ISR_Is_vector_number_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the vector is a valid vector number - * for this processor and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_vector_number_valid ( - ISR_Vector_number vector -); - -/* - * _ISR_Is_valid_user_handler - * - * DESCRIPTION: - * - * This function returns TRUE if handler is the entry point of a valid - * use interrupt service routine and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_valid_user_handler ( - void *handler -); - -/* * _ISR_Handler * * DESCRIPTION: @@ -253,7 +214,9 @@ void _ISR_Handler( void ); void _ISR_Dispatch( void ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/isr.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/mppkt.h b/c/src/exec/score/include/rtems/score/mppkt.h index 37469d93b8..0c651bc4e8 100644 --- a/c/src/exec/score/include/rtems/score/mppkt.h +++ b/c/src/exec/score/include/rtems/score/mppkt.h @@ -88,33 +88,9 @@ typedef struct { #define MP_PACKET_MINIMUN_HETERO_CONVERSION ( sizeof( MP_packet_Prefix ) / 4 ) -/* - * _Mp_packet_Is_valid_packet_class - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is valid, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( - MP_packet_Classes the_packet_class -); - -/* - * _Mp_packet_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is null, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_null ( - MP_packet_Prefix *the_packet -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/mppkt.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/object.h b/c/src/exec/score/include/rtems/score/object.h index 2c93a44379..d70009c3c9 100644 --- a/c/src/exec/score/include/rtems/score/object.h +++ b/c/src/exec/score/include/rtems/score/object.h @@ -383,176 +383,9 @@ Objects_Information *_Objects_Get_information( ); /* - * _Objects_Build_id - * - * DESCRIPTION: - * - * This function builds an object's id from the processor node and index - * values specified. - * - */ - -STATIC INLINE Objects_Id _Objects_Build_id( - Objects_Classes the_class, - unsigned32 node, - unsigned32 index -); - -/* - * _Objects_Get_class - * - * DESCRIPTION: - * - * This function returns the class portion of the ID. - * - */ - -STATIC INLINE Objects_Classes _Objects_Get_class( - Objects_Id id -); - -/* - * _Objects_Get_node - * - * DESCRIPTION: - * - * This function returns the node portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_node( - Objects_Id id -); - -/* - * _Objects_Get_index - * - * DESCRIPTION: - * - * This function returns the index portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_index( - Objects_Id id -); - -/* - * _Objects_Is_class_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the class is valid. - * - */ - -STATIC INLINE boolean _Objects_Is_class_valid( - Objects_Classes the_class -); - -/* - * _Objects_Is_local_node - * - * DESCRIPTION: - * - * This function returns TRUE if the node is of the local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_node( - unsigned32 node -); - -/* - * _Objects_Is_local_id - * - * DESCRIPTION: - * - * This function returns TRUE if the id is of a local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_id( - Objects_Id id -); - -/* - * _Objects_Are_ids_equal - * - * DESCRIPTION: - * - * This function returns TRUE if left and right are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Are_ids_equal( - Objects_Id left, - Objects_Id right -); - -/* - * _Objects_Allocate - * - * DESCRIPTION: - * - * This function allocates a object control block from - * the inactive chain of free object control blocks. - * - */ - -STATIC INLINE Objects_Control *_Objects_Allocate( - Objects_Information *information -); - -/* - * _Objects_Free - * - * DESCRIPTION: - * - * This function frees a object control block to the - * inactive chain of free object control blocks. - * - */ - -STATIC INLINE void _Objects_Free( - Objects_Information *information, - Objects_Control *the_object -); - -/* - * _Objects_Open - * - * DESCRIPTION: - * - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. - * + * Pieces of object.inl are promoted out to the user */ -STATIC INLINE void _Objects_Open( - Objects_Information *information, - Objects_Control *the_object, - Objects_Name name -); - -/* - * _Objects_Close - * - * DESCRIPTION: - * - * This function removes the_object control pointer and object name - * in the Local Pointer and Local Name Tables. - * - */ - -STATIC INLINE void _Objects_Close( - Objects_Information *information, - Objects_Control *the_object -); - #include <rtems/score/object.inl> #include <rtems/score/objectmp.h> diff --git a/c/src/exec/score/include/rtems/score/objectmp.h b/c/src/exec/score/include/rtems/score/objectmp.h index dbd468e169..96496656df 100644 --- a/c/src/exec/score/include/rtems/score/objectmp.h +++ b/c/src/exec/score/include/rtems/score/objectmp.h @@ -47,42 +47,6 @@ void _Objects_MP_Handler_initialization ( unsigned32 maximum_global_objects ); -/* - * _Objects_MP_Allocate_global_object - * - * DESCRIPTION: - * - * This function allocates a Global Object control block. - */ - -STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( - void -); - -/* - * _Objects_MP_Free_global_object - * - * DESCRIPTION: - * - * This routine deallocates a Global Object control block. - */ - -STATIC INLINE void _Objects_MP_Free_global_object ( - Objects_MP_Control *the_object -); - -/* - * _Objects_MP_Is_null_global_object - * - * DESCRIPTION: - * - * This function returns whether the global object is NULL or not. - */ - -STATIC INLINE boolean _Objects_MP_Is_null_global_object ( - Objects_MP_Control *the_object -); - /*PAGE * * _Objects_MP_Open @@ -176,7 +140,9 @@ void _Objects_MP_Is_remote ( EXTERN unsigned32 _Objects_MP_Maximum_global_objects; EXTERN Chain_Control _Objects_MP_Inactive_global_objects; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/objectmp.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/priority.h b/c/src/exec/score/include/rtems/score/priority.h index a4a96045d5..b7de14f0f9 100644 --- a/c/src/exec/score/include/rtems/score/priority.h +++ b/c/src/exec/score/include/rtems/score/priority.h @@ -67,164 +67,26 @@ EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; */ /* - * _Priority_Handler_initialization + * Priority Bitfield Manipulation Routines * - * DESCRIPTION: + * NOTE: * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _Priority_Handler_initialization( void ); - -/* - * _Priority_Is_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_priority if valid for a - * user task, and FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_valid ( - Priority_Control the_priority -); - -/* - * _Priority_Major - * - * DESCRIPTION: - * - * This function returns the major portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Major ( - Priority_Control the_priority -); - -/* - * _Priority_Minor - * - * DESCRIPTION: - * - * This function returns the minor portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Minor ( - Priority_Control the_priority -); - -/* - * _Priority_Mask - * - * DESCRIPTION: - * - * This function returns the mask associated with the major or minor - * number passed to it. + * These may simply be pass throughs to CPU dependent routines. */ -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Mask ( - unsigned32 bit_number -); - -#else +#if ( CPU_USE_GENERIC_BITFIELD_CODE == FALSE ) #define _Priority_Mask( _bit_number ) \ _CPU_Priority_Mask( _bit_number ) -#endif - -/* - * _Priority_Bits_index - * - * DESCRIPTION: - * - * This function translates the bit numbers returned by the bit scan - * of a priority bit field into something suitable for use as - * a major or minor component of a priority. - */ - -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Bits_index ( - unsigned32 bit_number -); - -#else - #define _Priority_Bits_index( _priority ) \ _CPU_Priority_bits_index( _priority ) #endif -/* - * _Priority_Add_to_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been readied. - */ - -STATIC INLINE void _Priority_Add_to_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Remove_from_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been removed from the - * ready state. - */ - -STATIC INLINE void _Priority_Remove_from_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Get_highest - * - * DESCRIPTION: - * - * This function returns the priority of the highest priority - * ready thread. - */ - -STATIC INLINE Priority_Control _Priority_Get_highest( void ); - -/* - * _Priority_Initialize_information - * - * DESCRIPTION: - * - * This routine initializes the_priority_map so that it - * contains the information necessary to manage a thread - * at new_priority. - */ - -STATIC INLINE void _Priority_Initialize_information( - Priority_Information *the_priority_map, - Priority_Control new_priority -); - -/* - * _Priority_Is_group_empty - * - * DESCRIPTION: - * - * This function returns TRUE if the priority GROUP is empty, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_group_empty ( - Priority_Control the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/priority.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/stack.h b/c/src/exec/score/include/rtems/score/stack.h index a054dae3df..bf72782b42 100644 --- a/c/src/exec/score/include/rtems/score/stack.h +++ b/c/src/exec/score/include/rtems/score/stack.h @@ -38,54 +38,9 @@ typedef struct { void *area; /* low memory addr of stack */ } Stack_Control; -/* - * _Stack_Initialize - * - * DESCRIPTION: - * - * This routine initializes the_stack record to indicate that - * size bytes of memory starting at starting_address have been - * reserved for a stack. - */ - -STATIC INLINE void _Stack_Initialize ( - Stack_Control *the_stack, - void *starting_address, - unsigned32 size -); - -/* - * _Stack_Is_enough - * - * DESCRIPTION: - * - * This function returns TRUE if size bytes is enough memory for - * a valid stack area on this processor, and FALSE otherwise. - */ - -STATIC INLINE boolean _Stack_Is_enough ( - unsigned32 size -); - -/* - * _Stack_Adjust_size - * - * DESCRIPTION: - * - * This function increases the stack size to insure that the thread - * has the desired amount of stack space after the initial stack - * pointer is determined based on alignment restrictions. - * - * NOTE: - * - * The amount of adjustment for alignment is CPU dependent. - */ - -STATIC INLINE unsigned32 _Stack_Adjust_size ( - unsigned32 size -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/stack.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/states.h b/c/src/exec/score/include/rtems/score/states.h index a120cadae3..1f8fd49fae 100644 --- a/c/src/exec/score/include/rtems/score/states.h +++ b/c/src/exec/score/include/rtems/score/states.h @@ -66,285 +66,9 @@ typedef unsigned32 States_Control; STATES_WAITING_FOR_EVENT | \ STATES_WAITING_ON_THREAD_QUEUE ) -/* - * _States_Set - * - * DESCRIPTION: - * - * This function sets the given states_to_set into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Set ( - States_Control states_to_set, - States_Control current_state -); - -/* - * _States_Clear - * - * DESCRIPTION: - * - * This function clears the given states_to_clear into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Clear ( - States_Control states_to_clear, - States_Control current_state -); - -/* - * _States_Is_ready - * - * DESCRIPTION: - * - * This function returns TRUE if the_states indicates that the - * state is READY, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_ready ( - States_Control the_states -); - -/* - * _States_Is_only_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is the ONLY state - * set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_only_dormant ( - States_Control the_states -); - -/* - * _States_Is_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_dormant ( - States_Control the_states -); - -/* - * _States_Is_suspended - * - * DESCRIPTION: - * - * This function returns TRUE if the SUSPENDED state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_suspended ( - States_Control the_states -); - -/* - * _States_Is_Transient - * - * DESCRIPTION: - * - * This function returns TRUE if the TRANSIENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_transient ( - States_Control the_states -); - -/* - * _States_Is_delaying - * - * DESCRIPTION: - * - * This function returns TRUE if the DELAYING state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_delaying ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_buffer - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_BUFFER state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_buffer ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_segment - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_segment ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_message - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_message ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_event - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_EVENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_event ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_mutex - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MUTEX state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_mutex ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEMAPHORE state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_semaphore ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_time - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_time ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_rpc_reply - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_period - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_PERIOD state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_period ( - States_Control the_states -); - -/* - * _States_Is_locally_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_locally_blocked ( - States_Control the_states -); - -/* - * _States_Is_waiting_on_thread_queue - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( - States_Control the_states -); - -/* - * _States_Is_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_blocked ( - States_Control the_states -); - -/* - * _States_Are_set - * - * DESCRIPTION: - * - * This function returns TRUE if any of the states in the mask - * are set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Are_set ( - States_Control the_states, - States_Control mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/states.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/sysstate.h b/c/src/exec/score/include/rtems/score/sysstate.h index c5d8562001..d7e43b2356 100644 --- a/c/src/exec/score/include/rtems/score/sysstate.h +++ b/c/src/exec/score/include/rtems/score/sysstate.h @@ -53,105 +53,9 @@ EXTERN boolean _System_state_Is_multiprocessing; EXTERN System_state_Codes _System_state_Current; /* - * _System_state_Handler_initialization - * - * DESCRIPTION: - * - * This routine initializes the system state handler. - */ - -STATIC INLINE void _System_state_Handler_initialization ( - boolean is_multiprocessing -); - -/* - * _System_state_Set - * - * DESCRIPTION: - * - * This routine sets the current system state to that specified by - * the called. + * Make it possible for the application to get the system state information. */ -STATIC INLINE void _System_state_Set ( - System_state_Codes state -); - -/* - * _System_state_Get - * - * DESCRIPTION: - * - * This function returns the current system state. - */ - -STATIC INLINE System_state_Codes _System_state_Get ( void ); - -/* - * _System_state_Is_before_initialization - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before initialization" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_initialization ( - System_state_Codes state -); - -/* - * _System_state_Is_before_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_begin_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "begin multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_begin_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_up - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "up" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_up ( - System_state_Codes state -); - -/* - * _System_state_Is_failed - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "failed" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_failed ( - System_state_Codes state -); - #include <rtems/score/sysstate.inl> #ifdef __cplusplus diff --git a/c/src/exec/score/include/rtems/score/thread.h b/c/src/exec/score/include/rtems/score/thread.h index d904df439b..8abf7c3584 100644 --- a/c/src/exec/score/include/rtems/score/thread.h +++ b/c/src/exec/score/include/rtems/score/thread.h @@ -284,28 +284,6 @@ void _Thread_Create_idle( void ); void _Thread_Start_multitasking( void ); /* - * _Thread_Stop_multitasking - * - * DESCRIPTION: - * - * This routine halts multitasking and returns control to - * the "thread" (i.e. the BSP) which initially invoked the - * routine which initialized the system. - */ - -STATIC INLINE void _Thread_Stop_multitasking( void ); - -/* - * _Thread_Dispatch_initialization - * - * DESCRIPTION: - * - * This routine initializes the thread dispatching subsystem. - */ - -STATIC INLINE void _Thread_Dispatch_initialization( void ); - -/* * _Thread_Dispatch * * DESCRIPTION: @@ -487,43 +465,6 @@ void _Thread_Tickle_timeslice( void ); void _Thread_Yield_processor( void ); /* - * _Thread_Is_executing - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the currently executing - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the heir - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_executing_also_the_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the currently executing thread - * is also the heir thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ); - -/* * _Thread_Load_environment * * DESCRIPTION: @@ -604,215 +545,6 @@ void _Thread_Set_priority( boolean _Thread_Evaluate_mode( void ); /* - * _Thread_Resume - * - * DESCRIPTION: - * - * This routine clears the SUSPENDED state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Resume ( - Thread_Control *the_thread -); - -/* - * _Thread_Unblock - * - * DESCRIPTION: - * - * This routine clears any blocking state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Unblock ( - Thread_Control *the_thread -); - -/* - * _Thread_Restart_self - * - * DESCRIPTION: - * - * This routine resets the current context of the calling thread - * to that of its initial state. - */ - -STATIC INLINE void _Thread_Restart_self( void ); - -/* - * _Thread_Calculate_heir - * - * DESCRIPTION: - * - * This function returns a pointer to the highest priority - * ready thread. - */ - -STATIC INLINE void _Thread_Calculate_heir( void ); - -/* - * _Thread_Is_allocated_fp - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point context of - * the_thread is currently loaded in the floating point unit, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_allocated_fp ( - Thread_Control *the_thread -); - -/* - * _Thread_Deallocate_fp - * - * DESCRIPTION: - * - * This routine is invoked when the currently loaded floating - * point context is now longer associated with an active thread. - */ - -STATIC INLINE void _Thread_Deallocate_fp( void ); - -/* - * _Thread_Disable_dispatch - * - * DESCRIPTION: - * - * This routine prevents dispatching. - */ - -STATIC INLINE void _Thread_Disable_dispatch( void ); - -/* - * _Thread_Enable_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. If this is - * the outer most dispatching critical section, then a dispatching - * operation will be performed and, if necessary, control of the - * processor will be transferred to the heir thread. - */ - -#if ( CPU_INLINE_ENABLE_DISPATCH == TRUE ) - -STATIC INLINE void _Thread_Enable_dispatch(); - -#endif - -#if ( CPU_INLINE_ENABLE_DISPATCH == FALSE ) - -void _Thread_Enable_dispatch( void ); - -#endif - -/* - * _Thread_Unnest_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. However, - * no dispatching operation is performed even if this is the outer - * most dispatching critical section. - */ - -STATIC INLINE void _Thread_Unnest_dispatch( void ); - -/* - * _Thread_Is_dispatching_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ); - -/* - * _Thread_Is_context_switch_necessary - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ); - -/* - * _Thread_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_null ( - Thread_Control *the_thread -); - -/* - * _Thread_Get - * - * DESCRIPTION: - * - * This function maps thread IDs to thread control - * blocks. If ID corresponds to a local thread, then it - * returns the_thread control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the thread ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_thread is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_thread is undefined. - */ - -STATIC INLINE Thread_Control *_Thread_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Thread_Is_proxy_blocking - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to the - * status which indicates that a proxy is blocking, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_proxy_blocking ( - unsigned32 code -); - -/* - * _Thread_Internal_allocate - * - * DESCRIPTION: - * - * This routine allocates an internal thread. - */ - -STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ); - -/* - * _Thread_Internal_free - * - * DESCRIPTION: - * - * This routine frees an internal thread. - */ - -STATIC INLINE void _Thread_Internal_free ( - Thread_Control *the_task -); - -/* * _Thread_Idle_body * * DESCRIPTION: @@ -826,7 +558,9 @@ Thread _Thread_Idle_body( ); #endif +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/thread.inl> +#endif #include <rtems/score/threadmp.h> #ifdef __cplusplus diff --git a/c/src/exec/score/include/rtems/score/threadmp.h b/c/src/exec/score/include/rtems/score/threadmp.h index 4afc965381..0466a04065 100644 --- a/c/src/exec/score/include/rtems/score/threadmp.h +++ b/c/src/exec/score/include/rtems/score/threadmp.h @@ -26,8 +26,7 @@ extern "C" { * * DESCRIPTION: * - * This package is the specification for the Thread Handler's - * multiprocessing specific support routines. + * This routine initializes the multiprocessing portion of the Thread Handler. */ void _Thread_MP_Handler_initialization ( @@ -35,19 +34,6 @@ void _Thread_MP_Handler_initialization ( ); /* - * _Thread_MP_Is_receive - * - * DESCRIPTION: - * - * This function returns true if the thread in question is the - * multiprocessing receive thread. - */ - -STATIC INLINE boolean _Thread_MP_Is_receive ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Allocate_proxy * * DESCRIPTION: @@ -64,19 +50,6 @@ Thread_Control *_Thread_MP_Allocate_proxy ( ); /* - * _Thread_MP_Free_proxy - * - * DESCRIPTION: - * - * This routine frees a proxy control block to the - * inactive chain of free proxy control blocks. - */ - -STATIC INLINE void _Thread_MP_Free_proxy ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Find_proxy * * DESCRIPTION: @@ -104,7 +77,9 @@ EXTERN Thread_Control *_Thread_MP_Receive; EXTERN Chain_Control _Thread_MP_Active_proxies; EXTERN Chain_Control _Thread_MP_Inactive_proxies; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/threadmp.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/tod.h b/c/src/exec/score/include/rtems/score/tod.h index 89ff118c33..b0fb686014 100644 --- a/c/src/exec/score/include/rtems/score/tod.h +++ b/c/src/exec/score/include/rtems/score/tod.h @@ -205,50 +205,6 @@ Watchdog_Interval _TOD_To_seconds( ); /* - * _TOD_Is_set - * - * DESCRIPTION: - * - * This function returns TRUE if the application has set the current - * time of day, and FALSE otherwise. - */ - -STATIC INLINE boolean _TOD_Is_set( void ); - -/* - * _TOD_Tickle_ticks - * - * DESCRIPTION: - * - * This routine increments the ticks field of the current time of - * day at each clock tick. - */ - -STATIC INLINE void _TOD_Tickle_ticks( void ); - -/* - * _TOD_Deactivate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Deactivate( void ); - -/* - * _TOD_Activate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Activate( - Watchdog_Interval ticks -); - -/* * _TOD_Tickle * * DESCRIPTION: @@ -292,7 +248,9 @@ void _TOD_Tickle( #define TOD_MILLISECONDS_TO_TICKS(_ms) \ (TOD_MILLISECONDS_TO_MICROSECONDS(_ms) / _TOD_Microseconds_per_tick) +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/tod.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/tqdata.h b/c/src/exec/score/include/rtems/score/tqdata.h index a4a5551dfd..c9c9585f7f 100644 --- a/c/src/exec/score/include/rtems/score/tqdata.h +++ b/c/src/exec/score/include/rtems/score/tqdata.h @@ -48,11 +48,23 @@ typedef enum { } Thread_queue_States; /* - * The following record defines the control block used - * to manage each thread. + * The following constants are used to manage the priority queues. + * + * There are four chains used to maintain a priority -- each chain + * manages a distinct set of task priorities. The number of chains + * is determined by TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS. + * The following set must be consistent. + * + * The set below configures 4 headers -- each contains 64 priorities. + * Header x manages priority range (x*64) through ((x*64)+63). If + * the priority is more than half way through the priority range it + * is in, then the search is performed from the rear of the chain. + * This halves the search time to find the insertion point. */ -#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 /* # of pri groups */ +#define TASK_QUEUE_DATA_NUMBER_OF_PRIORITY_HEADERS 4 +#define TASK_QUEUE_DATA_PRIORITIES_PER_HEADER 64 +#define TASK_QUEUE_DATA_REVERSE_SEARCH_MASK 0x20 typedef struct { union { @@ -67,47 +79,9 @@ typedef struct { unsigned32 count; } Thread_queue_Control; -/* - * _Thread_queue_Header_number - * - * DESCRIPTION: - * - * This function returns the index of the priority chain on which - * a thread of the_priority should be placed. - */ - -STATIC INLINE unsigned32 _Thread_queue_Header_number ( - Priority_Control the_priority -); - -/* - * _Thread_queue_Is_reverse_search - * - * DESCRIPTION: - * - * This function returns TRUE if the_priority indicates that the - * enqueue search should start at the front of this priority - * group chain, and FALSE if the search should start at the rear. - */ - -STATIC INLINE boolean _Thread_queue_Is_reverse_search ( - Priority_Control the_priority -); - -/* - * _Thread_queue_Enter_critical_section - * - * DESCRIPTION: - * - * This routine is invoked to indicate that the specified thread queue is - * entering a critical section. - */ - -STATIC INLINE void _Thread_queue_Enter_critical_section ( - Thread_queue_Control *the_thread_queue -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/tqdata.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/userext.h b/c/src/exec/score/include/rtems/score/userext.h index 58fa087780..1a6ac3437e 100644 --- a/c/src/exec/score/include/rtems/score/userext.h +++ b/c/src/exec/score/include/rtems/score/userext.h @@ -108,56 +108,6 @@ EXTERN User_extensions_Control _User_extensions_Initial; EXTERN Chain_Control _User_extensions_List; - -/* - * _User_extensions_Handler_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _User_extensions_Handler_initialization ( - User_extensions_Table *initial_extensions -); - -/* - * _User_extensions_Add_set - * - * DESCRIPTION: - * - * This routine is used to add a user extension set to the active list. - */ - -STATIC INLINE void _User_extensions_Add_set ( - User_extensions_Control *the_extension, - User_extensions_Table *extension_table -); - -/* - * _User_extensions_Add_API_set - * - * DESCRIPTION: - * - * This routine is used to add an API extension set to the active list. - */ - -STATIC INLINE void _User_extensions_Add_API_set ( - User_extensions_Control *the_extension -); - -/* - * _User_extensions_Remove_set - * - * DESCRIPTION: - * - * This routine is used to remove a user extension set from the active list. - */ - -STATIC INLINE void _User_extensions_Remove_set ( - User_extensions_Control *the_extension -); - /* * _User_extensions_Thread_create * @@ -211,20 +161,6 @@ void _User_extensions_Thread_restart ( ); /* - * _User_extensions_Thread_switch - * - * DESCRIPTION: - * - * This routine is used to invoke the user extension which - * is invoked when a context switch occurs. - */ - -STATIC INLINE void _User_extensions_Thread_switch ( - Thread_Control *executing, - Thread_Control *heir -); - -/* * _User_extensions_Thread_begin * * DESCRIPTION: @@ -265,7 +201,9 @@ void _User_extensions_Fatal ( unsigned32 the_error ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/userext.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/include/rtems/score/watchdog.h b/c/src/exec/score/include/rtems/score/watchdog.h index 5ac7eee641..9b13407c8e 100644 --- a/c/src/exec/score/include/rtems/score/watchdog.h +++ b/c/src/exec/score/include/rtems/score/watchdog.h @@ -116,24 +116,6 @@ EXTERN Chain_Control _Watchdog_Seconds_chain; void _Watchdog_Handler_initialization( void ); /* - * - * _Watchdog_Initialize - * - * DESCRIPTION: - * - * This routine initializes the specified watchdog. The watchdog is - * made inactive, the watchdog id and handler routine are set to the - * specified values. - */ - -STATIC INLINE void _Watchdog_Initialize( - Watchdog_Control *the_watchdog, - Watchdog_Service_routine_entry routine, - Objects_Id id, - void *user_data -); - -/* * _Watchdog_Remove * * DESCRIPTION: @@ -147,208 +129,6 @@ Watchdog_States _Watchdog_Remove ( ); /* - * - * _Watchdog_Is_active - * - * DESCRIPTION: - * - * This routine returns TRUE if the watchdog timer is in the ACTIVE - * state, and FALSE otherwise. - */ - -STATIC INLINE boolean _Watchdog_Is_active( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Activate - * - * DESCRIPTION: - * - * This routine activates THE_WATCHDOG timer which is already - * on a watchdog chain. - */ - -STATIC INLINE void _Watchdog_Activate( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Deactivate - * - * DESCRIPTION: - * - * This routine deactivates THE_WATCHDOG timer which will remain - * on a watchdog chain. - */ - -STATIC INLINE void _Watchdog_Deactivate( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Tickle_ticks - * - * DESCRIPTION: - * - * This routine is invoked at each clock tick to update the ticks - * watchdog chain. - */ - -STATIC INLINE void _Watchdog_Tickle_ticks( void ); - -/* - * - * _Watchdog_Tickle_seconds - * - * DESCRIPTION: - * - * This routine is invoked at each clock tick to update the seconds - * watchdog chain. - */ - -STATIC INLINE void _Watchdog_Tickle_seconds( void ); - -/* - * - * _Watchdog_Insert_ticks - * - * DESCRIPTION: - * - * This routine inserts THE_WATCHDOG into the ticks watchdog chain - * for a time of UNITS ticks. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -STATIC INLINE void _Watchdog_Insert_ticks( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Insert_seconds - * - * DESCRIPTION: - * - * This routine inserts THE_WATCHDOG into the seconds watchdog chain - * for a time of UNITS seconds. The INSERT_MODE indicates whether - * THE_WATCHDOG is to be activated automatically or later, explicitly - * by the caller. - */ - -STATIC INLINE void _Watchdog_Insert_seconds( - Watchdog_Control *the_watchdog, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Adjust_seconds - * - * DESCRIPTION: - * - * This routine adjusts the seconds watchdog chain in the forward - * or backward DIRECTION for UNITS seconds. This is invoked when the - * current time of day is changed. - */ - -STATIC INLINE void _Watchdog_Adjust_seconds( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Adjust_ticks - * - * DESCRIPTION: - * - * This routine adjusts the ticks watchdog chain in the forward - * or backward DIRECTION for UNITS ticks. - */ - -STATIC INLINE void _Watchdog_Adjust_ticks( - Watchdog_Adjust_directions direction, - Watchdog_Interval units -); - -/* - * - * _Watchdog_Reset - * - * DESCRIPTION: - * - * This routine resets THE_WATCHDOG timer to its state at INSERT - * time. This routine is valid only on interval watchdog timers - * and is used to make an interval watchdog timer fire "every" so - * many ticks. - */ - -STATIC INLINE void _Watchdog_Reset( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Next - * - * DESCRIPTION: - * - * This routine returns a pointer to the watchdog timer following - * THE_WATCHDOG on the watchdog chain. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_Next( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_Previous - * - * DESCRIPTION: - * - * This routine returns a pointer to the watchdog timer preceding - * THE_WATCHDOG on the watchdog chain. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_Previous( - Watchdog_Control *the_watchdog -); - -/* - * - * _Watchdog_First - * - * DESCRIPTION: - * - * This routine returns a pointer to the first watchdog timer - * on the watchdog chain HEADER. - */ - -STATIC INLINE Watchdog_Control *_Watchdog_First( - Chain_Control *header -); - -/* - * - * _Watchdog_Last - * - * DESCRIPTION: - * - * This routine returns a pointer to the last watchdog timer - * on the watchdog chain HEADER. - */ -STATIC INLINE Watchdog_Control *_Watchdog_Last( - Chain_Control *header -); - -/* * _Watchdog_Adjust * * DESCRIPTION: @@ -393,7 +173,9 @@ void _Watchdog_Tickle ( Chain_Control *header ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/watchdog.inl> +#endif #ifdef __cplusplus } diff --git a/c/src/exec/score/inline/address.inl b/c/src/exec/score/inline/address.inl index c1bb098577..343123c981 100644 --- a/c/src/exec/score/inline/address.inl +++ b/c/src/exec/score/inline/address.inl @@ -21,6 +21,11 @@ * * _Addresses_Add_offset * + * DESCRIPTION: + * + * This function is used to add an offset to a base address. + * It returns the resulting address. This address is typically + * converted to an access type before being used further. */ STATIC INLINE void *_Addresses_Add_offset ( @@ -35,6 +40,11 @@ STATIC INLINE void *_Addresses_Add_offset ( * * _Addresses_Subtract_offset * + * DESCRIPTION: + * + * This function is used to subtract an offset from a base + * address. It returns the resulting address. This address is + * typically converted to an access type before being used further. */ STATIC INLINE void *_Addresses_Subtract_offset ( @@ -49,6 +59,11 @@ STATIC INLINE void *_Addresses_Subtract_offset ( * * _Addresses_Subtract * + * DESCRIPTION: + * + * This function is used to subtract two addresses. It returns the + * resulting offset. + * * NOTE: The cast of an address to an unsigned32 makes this code * dependent on an addresses being thirty two bits. */ @@ -65,6 +80,11 @@ STATIC INLINE unsigned32 _Addresses_Subtract ( * * _Addresses_Is_aligned * + * DESCRIPTION: + * + * This function returns TRUE if the given address is correctly + * aligned for this processor and FALSE otherwise. Proper alignment + * is based on correctness and efficiency. */ STATIC INLINE boolean _Addresses_Is_aligned ( @@ -78,6 +98,13 @@ STATIC INLINE boolean _Addresses_Is_aligned ( * * _Addresses_Is_in_range * + * DESCRIPTION: + * + * This function returns TRUE if the given address is within the + * memory range specified and FALSE otherwise. base is the address + * of the first byte in the memory range and limit is the address + * of the last byte in the memory range. The base address is + * assumed to be lower than the limit address. */ STATIC INLINE boolean _Addresses_Is_in_range ( diff --git a/c/src/exec/score/inline/chain.inl b/c/src/exec/score/inline/chain.inl index 63706544e4..7fd3fef934 100644 --- a/c/src/exec/score/inline/chain.inl +++ b/c/src/exec/score/inline/chain.inl @@ -24,6 +24,11 @@ /*PAGE * * _Chain_Are_nodes_equal + * + * DESCRIPTION: + * + * This function returns TRUE if LEFT and RIGHT are equal, + * and FALSE otherwise. */ STATIC INLINE boolean _Chain_Are_nodes_equal( @@ -37,6 +42,10 @@ STATIC INLINE boolean _Chain_Are_nodes_equal( /*PAGE * * _Chain_Is_null + * + * DESCRIPTION: + * + * This function returns TRUE if the_chain is NULL and FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_null( @@ -49,6 +58,10 @@ STATIC INLINE boolean _Chain_Is_null( /*PAGE * * _Chain_Is_null_node + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is NULL and FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_null_node( @@ -61,6 +74,10 @@ STATIC INLINE boolean _Chain_Is_null_node( /*PAGE * * _Chain_Head + * + * DESCRIPTION: + * + * This function returns a pointer to the first node on the chain. */ STATIC INLINE Chain_Node *_Chain_Head( @@ -73,6 +90,10 @@ STATIC INLINE Chain_Node *_Chain_Head( /*PAGE * * _Chain_Tail + * + * DESCRIPTION: + * + * This function returns a pointer to the last node on the chain. */ STATIC INLINE Chain_Node *_Chain_Tail( @@ -85,6 +106,11 @@ STATIC INLINE Chain_Node *_Chain_Tail( /*PAGE * * _Chain_Is_empty + * + * DESCRIPTION: + * + * This function returns TRUE if there a no nodes on the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_empty( @@ -97,6 +123,11 @@ STATIC INLINE boolean _Chain_Is_empty( /*PAGE * * _Chain_Is_first + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the first node on a chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_first( @@ -109,6 +140,11 @@ STATIC INLINE boolean _Chain_Is_first( /*PAGE * * _Chain_Is_last + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the last node on a chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_last( @@ -121,6 +157,11 @@ STATIC INLINE boolean _Chain_Is_last( /*PAGE * * _Chain_Has_only_one_node + * + * DESCRIPTION: + * + * This function returns TRUE if there is only one node on the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Has_only_one_node( @@ -133,6 +174,11 @@ STATIC INLINE boolean _Chain_Has_only_one_node( /*PAGE * * _Chain_Is_head + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the head of the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_head( @@ -146,6 +192,11 @@ STATIC INLINE boolean _Chain_Is_head( /*PAGE * * _Chain_Is_tail + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the tail of the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_tail( @@ -159,6 +210,10 @@ STATIC INLINE boolean _Chain_Is_tail( /*PAGE * * Chain_Initialize_empty + * + * DESCRIPTION: + * + * This routine initializes the specified chain to contain zero nodes. */ STATIC INLINE void _Chain_Initialize_empty( @@ -173,6 +228,12 @@ STATIC INLINE void _Chain_Initialize_empty( /*PAGE * * _Chain_Extract_unprotected + * + * DESCRIPTION: + * + * This routine extracts the_node from the chain on which it resides. + * It does NOT disable interrupts to insure the atomicity of the + * extract operation. */ STATIC INLINE void _Chain_Extract_unprotected( @@ -191,6 +252,12 @@ STATIC INLINE void _Chain_Extract_unprotected( /*PAGE * * _Chain_Get_first_unprotected + * + * DESCRIPTION: + * + * This function removes the first node from the_chain and returns + * a pointer to that node. It does NOT disable interrupts to insure + * the atomicity of the get operation. */ STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( @@ -211,6 +278,13 @@ STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( /*PAGE * * Chain_Get_unprotected + * + * DESCRIPTION: + * + * This function removes the first node from the_chain and returns + * a pointer to that node. If the_chain is empty, then NULL is returned. + * It does NOT disable interrupts to insure the atomicity of the + * get operation. */ STATIC INLINE Chain_Node *_Chain_Get_unprotected( @@ -226,6 +300,12 @@ STATIC INLINE Chain_Node *_Chain_Get_unprotected( /*PAGE * * _Chain_Insert_unprotected + * + * DESCRIPTION: + * + * This routine inserts the_node on a chain immediately following + * after_node. It does NOT disable interrupts to insure the atomicity + * of the extract operation. */ STATIC INLINE void _Chain_Insert_unprotected( @@ -245,6 +325,12 @@ STATIC INLINE void _Chain_Insert_unprotected( /*PAGE * * _Chain_Append_unprotected + * + * DESCRIPTION: + * + * This routine appends the_node onto the end of the_chain. + * It does NOT disable interrupts to insure the atomicity of the + * append operation. */ STATIC INLINE void _Chain_Append_unprotected( @@ -264,6 +350,12 @@ STATIC INLINE void _Chain_Append_unprotected( /*PAGE * * _Chain_Prepend_unprotected + * + * DESCRIPTION: + * + * This routine prepends the_node onto the front of the_chain. + * It does NOT disable interrupts to insure the atomicity of the + * prepend operation. */ STATIC INLINE void _Chain_Prepend_unprotected( @@ -278,6 +370,12 @@ STATIC INLINE void _Chain_Prepend_unprotected( /*PAGE * * _Chain_Prepend + * + * DESCRIPTION: + * + * This routine prepends the_node onto the front of the_chain. + * It disables interrupts to insure the atomicity of the + * prepend operation. */ STATIC INLINE void _Chain_Prepend( diff --git a/c/src/exec/score/inline/coremsg.inl b/c/src/exec/score/inline/coremsg.inl index 5a1b5d4a10..84e7250aa7 100644 --- a/c/src/exec/score/inline/coremsg.inl +++ b/c/src/exec/score/inline/coremsg.inl @@ -23,6 +23,9 @@ * * _CORE_message_queue_Send * + * DESCRIPTION: + * + * This routine sends a message to the end of the specified message queue. */ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( @@ -47,6 +50,9 @@ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( * * _CORE_message_queue_Urgent * + * DESCRIPTION: + * + * This routine sends a message to the front of the specified message queue. */ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( @@ -71,6 +77,10 @@ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( * * _CORE_message_queue_Copy_buffer * + * DESCRIPTION: + * + * This routine copies the contents of the source message buffer + * to the destination message buffer. */ STATIC INLINE void _CORE_message_queue_Copy_buffer ( @@ -86,6 +96,10 @@ STATIC INLINE void _CORE_message_queue_Copy_buffer ( * * _CORE_message_queue_Allocate_message_buffer * + * DESCRIPTION: + * + * This function allocates a message buffer from the inactive + * message buffer chain. */ STATIC INLINE CORE_message_queue_Buffer_control * @@ -101,6 +115,10 @@ _CORE_message_queue_Allocate_message_buffer ( * * _CORE_message_queue_Free_message_buffer * + * DESCRIPTION: + * + * This routine frees a message buffer to the inactive + * message buffer chain. */ STATIC INLINE void _CORE_message_queue_Free_message_buffer ( @@ -115,6 +133,10 @@ STATIC INLINE void _CORE_message_queue_Free_message_buffer ( * * _CORE_message_queue_Get_pending_message * + * DESCRIPTION: + * + * This function removes the first message from the_message_queue + * and returns a pointer to it. */ STATIC INLINE @@ -130,6 +152,10 @@ STATIC INLINE * * _CORE_message_queue_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_priority( @@ -143,6 +169,10 @@ STATIC INLINE boolean _CORE_message_queue_Is_priority( * * _CORE_message_queue_Append * + * DESCRIPTION: + * + * This routine places the_message at the rear of the outstanding + * messages on the_message_queue. */ STATIC INLINE void _CORE_message_queue_Append ( @@ -157,6 +187,10 @@ STATIC INLINE void _CORE_message_queue_Append ( * * _CORE_message_queue_Prepend * + * DESCRIPTION: + * + * This routine places the_message at the front of the outstanding + * messages on the_message_queue. */ STATIC INLINE void _CORE_message_queue_Prepend ( @@ -174,6 +208,9 @@ STATIC INLINE void _CORE_message_queue_Prepend ( * * _CORE_message_queue_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_null ( @@ -187,6 +224,10 @@ STATIC INLINE boolean _CORE_message_queue_Is_null ( * * _CORE_message_queue_Is_notify_enabled * + * DESCRIPTION: + * + * This function returns TRUE if notification is enabled on this message + * queue and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( @@ -200,6 +241,9 @@ STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( * * _CORE_message_queue_Set_notify * + * DESCRIPTION: + * + * This routine initializes the notification information for the_message_queue. */ STATIC INLINE void _CORE_message_queue_Set_notify ( diff --git a/c/src/exec/score/inline/coremutex.inl b/c/src/exec/score/inline/coremutex.inl index 8681795085..537d6f7e5f 100644 --- a/c/src/exec/score/inline/coremutex.inl +++ b/c/src/exec/score/inline/coremutex.inl @@ -21,6 +21,10 @@ * * _CORE_mutex_Is_locked * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex specified is locked and FALSE + * otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_locked( @@ -34,6 +38,10 @@ STATIC INLINE boolean _CORE_mutex_Is_locked( * * _CORE_mutex_Is_fifo * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE + * otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_fifo( @@ -47,6 +55,10 @@ STATIC INLINE boolean _CORE_mutex_Is_fifo( * * _CORE_mutex_Is_priority * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is PRIORITY and + * FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_priority( @@ -60,6 +72,10 @@ STATIC INLINE boolean _CORE_mutex_Is_priority( * * _CORE_mutex_Is_inherit_priority * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is + * INHERIT_PRIORITY and FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( @@ -73,6 +89,10 @@ STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( * * _CORE_mutex_Is_priority_ceiling * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is + * PRIORITY_CEILING and FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( diff --git a/c/src/exec/score/inline/coresem.inl b/c/src/exec/score/inline/coresem.inl index 53f7d68595..6f82318d10 100644 --- a/c/src/exec/score/inline/coresem.inl +++ b/c/src/exec/score/inline/coresem.inl @@ -21,6 +21,10 @@ * * _CORE_semaphore_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _CORE_semaphore_Is_priority( @@ -34,6 +38,9 @@ STATIC INLINE boolean _CORE_semaphore_Is_priority( * * _CORE_semaphore_Get_count * + * DESCRIPTION: + * + * This routine returns the current count associated with the semaphore. */ STATIC INLINE unsigned32 _CORE_semaphore_Get_count( diff --git a/c/src/exec/score/inline/heap.inl b/c/src/exec/score/inline/heap.inl index 0d1b1231a7..6b4b1af74e 100644 --- a/c/src/exec/score/inline/heap.inl +++ b/c/src/exec/score/inline/heap.inl @@ -23,6 +23,9 @@ * * _Heap_Head * + * DESCRIPTION: + * + * This function returns the head of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Head ( @@ -36,6 +39,9 @@ STATIC INLINE Heap_Block *_Heap_Head ( * * _Heap_Tail * + * DESCRIPTION: + * + * This function returns the tail of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Tail ( @@ -49,6 +55,10 @@ STATIC INLINE Heap_Block *_Heap_Tail ( * * _Heap_Previous_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * precedes the_block in memory. */ STATIC INLINE Heap_Block *_Heap_Previous_block ( @@ -65,6 +75,11 @@ STATIC INLINE Heap_Block *_Heap_Previous_block ( * * _Heap_Next_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * follows the_block in memory. + * * NOTE: Next_block assumes that the block is free. */ @@ -82,6 +97,10 @@ STATIC INLINE Heap_Block *_Heap_Next_block ( * * _Heap_Block_at * + * DESCRIPTION: + * + * This function calculates and returns a block's location (address) + * in the heap based upad a base address and an offset. */ STATIC INLINE Heap_Block *_Heap_Block_at( @@ -96,6 +115,9 @@ STATIC INLINE Heap_Block *_Heap_Block_at( * * _Heap_User_block_at * + * DESCRIPTION: + * + * XXX */ STATIC INLINE Heap_Block *_Heap_User_block_at( @@ -112,6 +134,10 @@ STATIC INLINE Heap_Block *_Heap_User_block_at( * * _Heap_Is_previous_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the previous block of the_block + * is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_previous_block_free ( @@ -125,6 +151,9 @@ STATIC INLINE boolean _Heap_Is_previous_block_free ( * * _Heap_Is_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the block is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_free ( @@ -138,6 +167,10 @@ STATIC INLINE boolean _Heap_Is_block_free ( * * _Heap_Is_block_used * + * DESCRIPTION: + * + * This function returns TRUE if the block is currently allocated, + * and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_used ( @@ -151,6 +184,9 @@ STATIC INLINE boolean _Heap_Is_block_used ( * * _Heap_Block_size * + * DESCRIPTION: + * + * This function returns the size of the_block in bytes. */ STATIC INLINE unsigned32 _Heap_Block_size ( @@ -164,6 +200,10 @@ STATIC INLINE unsigned32 _Heap_Block_size ( * * _Heap_Start_of_user_area * + * DESCRIPTION: + * + * This function returns the starting address of the portion of the block + * which the user may access. */ STATIC INLINE void *_Heap_Start_of_user_area ( @@ -177,6 +217,10 @@ STATIC INLINE void *_Heap_Start_of_user_area ( * * _Heap_Is_block_in * + * DESCRIPTION: + * + * This function returns TRUE if the_block is within the memory area + * managed by the_heap, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_in ( @@ -191,6 +235,12 @@ STATIC INLINE boolean _Heap_Is_block_in ( * * _Heap_Is_page_size_valid * + * DESCRIPTION: + * + * This function validates a specified heap page size. If the page size + * is 0 or if lies outside a page size alignment boundary it is invalid + * and FALSE is returned. Otherwise, the page size is valid and TRUE is + * returned. */ STATIC INLINE boolean _Heap_Is_page_size_valid( @@ -205,6 +255,11 @@ STATIC INLINE boolean _Heap_Is_page_size_valid( * * _Heap_Build_flag * + * DESCRIPTION: + * + * This function returns the block flag composed of size and in_use_flag. + * The flag returned is suitable for use as a back or front flag in a + * heap block. */ STATIC INLINE unsigned32 _Heap_Build_flag ( diff --git a/c/src/exec/score/inline/isr.inl b/c/src/exec/score/inline/isr.inl index 2b4969a5db..2dd41315bc 100644 --- a/c/src/exec/score/inline/isr.inl +++ b/c/src/exec/score/inline/isr.inl @@ -21,6 +21,12 @@ * * _ISR_Is_in_progress * + * DESCRIPTION: + * + * This function returns TRUE if the processor is currently servicing + * and interrupt and FALSE otherwise. A return value of TRUE indicates + * that the caller is an interrupt service routine, NOT a thread. The + * directives available to an interrupt service routine are restricted. */ STATIC INLINE boolean _ISR_Is_in_progress( void ) @@ -32,6 +38,10 @@ STATIC INLINE boolean _ISR_Is_in_progress( void ) * * _ISR_Is_vector_number_valid * + * DESCRIPTION: + * + * This function returns TRUE if the vector is a valid vector number + * for this processor and FALSE otherwise. */ STATIC INLINE boolean _ISR_Is_vector_number_valid ( @@ -45,6 +55,11 @@ STATIC INLINE boolean _ISR_Is_vector_number_valid ( * * _ISR_Is_valid_user_handler * + * + * DESCRIPTION: + * + * This function returns TRUE if handler is the entry point of a valid + * use interrupt service routine and FALSE otherwise. */ STATIC INLINE boolean _ISR_Is_valid_user_handler ( diff --git a/c/src/exec/score/inline/mppkt.inl b/c/src/exec/score/inline/mppkt.inl index c23d756ec9..c8b6ecd117 100644 --- a/c/src/exec/score/inline/mppkt.inl +++ b/c/src/exec/score/inline/mppkt.inl @@ -21,6 +21,11 @@ * * _Mp_packet_Is_valid_packet_class * + * DESCRIPTION: + * + * This function returns TRUE if the the_packet_class is valid, + * and FALSE otherwise. + * * NOTE: Check for lower bounds (MP_PACKET_CLASSES_FIRST ) is unnecessary * because this enum starts at lower bound of zero. */ @@ -36,6 +41,10 @@ STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( * * _Mp_packet_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the the_packet_class is null, + * and FALSE otherwise. */ STATIC INLINE boolean _Mp_packet_Is_null ( diff --git a/c/src/exec/score/inline/object.inl b/c/src/exec/score/inline/object.inl index eb07a24890..249814bacf 100644 --- a/c/src/exec/score/inline/object.inl +++ b/c/src/exec/score/inline/object.inl @@ -21,6 +21,10 @@ * * _Objects_Build_id * + * DESCRIPTION: + * + * This function builds an object's id from the processor node and index + * values specified. */ STATIC INLINE Objects_Id _Objects_Build_id( @@ -37,6 +41,10 @@ STATIC INLINE Objects_Id _Objects_Build_id( /*PAGE * * _Objects_Get_class + * + * DESCRIPTION: + * + * This function returns the class portion of the ID. */ STATIC INLINE Objects_Classes _Objects_Get_class( @@ -52,6 +60,9 @@ STATIC INLINE Objects_Classes _Objects_Get_class( * * _Objects_Get_node * + * DESCRIPTION: + * + * This function returns the node portion of the ID. */ STATIC INLINE unsigned32 _Objects_Get_node( @@ -65,6 +76,9 @@ STATIC INLINE unsigned32 _Objects_Get_node( * * _Objects_Get_index * + * DESCRIPTION: + * + * This function returns the index portion of the ID. */ STATIC INLINE unsigned32 _Objects_Get_index( @@ -78,6 +92,9 @@ STATIC INLINE unsigned32 _Objects_Get_index( * * _Objects_Is_class_valid * + * DESCRIPTION: + * + * This function returns TRUE if the class is valid. */ STATIC INLINE boolean _Objects_Is_class_valid( @@ -91,6 +108,10 @@ STATIC INLINE boolean _Objects_Is_class_valid( * * _Objects_Is_local_node * + * DESCRIPTION: + * + * This function returns TRUE if the node is of the local object, and + * FALSE otherwise. */ STATIC INLINE boolean _Objects_Is_local_node( @@ -104,6 +125,10 @@ STATIC INLINE boolean _Objects_Is_local_node( * * _Objects_Is_local_id * + * DESCRIPTION: + * + * This function returns TRUE if the id is of a local object, and + * FALSE otherwise. */ STATIC INLINE boolean _Objects_Is_local_id( @@ -117,6 +142,10 @@ STATIC INLINE boolean _Objects_Is_local_id( * * _Objects_Are_ids_equal * + * DESCRIPTION: + * + * This function returns TRUE if left and right are equal, + * and FALSE otherwise. */ STATIC INLINE boolean _Objects_Are_ids_equal( @@ -131,6 +160,10 @@ STATIC INLINE boolean _Objects_Are_ids_equal( * * _Objects_Allocate * + * DESCRIPTION: + * + * This function allocates a object control block from + * the inactive chain of free object control blocks. */ STATIC INLINE Objects_Control *_Objects_Allocate( @@ -144,6 +177,10 @@ STATIC INLINE Objects_Control *_Objects_Allocate( * * _Objects_Free * + * DESCRIPTION: + * + * This function frees a object control block to the + * inactive chain of free object control blocks. */ STATIC INLINE void _Objects_Free( @@ -158,6 +195,10 @@ STATIC INLINE void _Objects_Free( * * _Objects_Open * + * DESCRIPTION: + * + * This function places the_object control pointer and object name + * in the Local Pointer and Local Name Tables, respectively. */ STATIC INLINE void _Objects_Open( @@ -181,6 +222,10 @@ STATIC INLINE void _Objects_Open( * * _Objects_Close * + * DESCRIPTION: + * + * This function removes the_object control pointer and object name + * in the Local Pointer and Local Name Tables. */ STATIC INLINE void _Objects_Close( diff --git a/c/src/exec/score/inline/objectmp.inl b/c/src/exec/score/inline/objectmp.inl index e09a3df528..dda2799643 100644 --- a/c/src/exec/score/inline/objectmp.inl +++ b/c/src/exec/score/inline/objectmp.inl @@ -21,6 +21,9 @@ * * _Objects_MP_Allocate_global_object * + * DESCRIPTION: + * + * This function allocates a Global Object control block. */ STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( @@ -32,8 +35,12 @@ STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( } /*PAGE + * * _Objects_MP_Free_global_object * + * DESCRIPTION: + * + * This routine deallocates a Global Object control block. */ STATIC INLINE void _Objects_MP_Free_global_object ( @@ -47,8 +54,12 @@ STATIC INLINE void _Objects_MP_Free_global_object ( } /*PAGE + * * _Objects_MP_Is_null_global_object * + * DESCRIPTION: + * + * This function returns whether the global object is NULL or not. */ STATIC INLINE boolean _Objects_MP_Is_null_global_object ( diff --git a/c/src/exec/score/inline/priority.inl b/c/src/exec/score/inline/priority.inl index 413e3b6724..d65056057b 100644 --- a/c/src/exec/score/inline/priority.inl +++ b/c/src/exec/score/inline/priority.inl @@ -23,6 +23,9 @@ * * _Priority_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _Priority_Handler_initialization( void ) @@ -38,6 +41,10 @@ STATIC INLINE void _Priority_Handler_initialization( void ) * * _Priority_Is_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_priority if valid for a + * user task, and FALSE otherwise. */ STATIC INLINE boolean _Priority_Is_valid ( @@ -56,6 +63,9 @@ STATIC INLINE boolean _Priority_Is_valid ( * * _Priority_Major * + * DESCRIPTION: + * + * This function returns the major portion of the_priority. */ STATIC INLINE unsigned32 _Priority_Major ( @@ -69,6 +79,9 @@ STATIC INLINE unsigned32 _Priority_Major ( * * _Priority_Minor * + * DESCRIPTION: + * + * This function returns the minor portion of the_priority. */ STATIC INLINE unsigned32 _Priority_Minor ( @@ -84,6 +97,10 @@ STATIC INLINE unsigned32 _Priority_Minor ( * * _Priority_Mask * + * DESCRIPTION: + * + * This function returns the mask associated with the major or minor + * number passed to it. */ STATIC INLINE unsigned32 _Priority_Mask ( @@ -98,6 +115,11 @@ STATIC INLINE unsigned32 _Priority_Mask ( * * _Priority_Bits_index * + * DESCRIPTION: + * + * This function translates the bit numbers returned by the bit scan + * of a priority bit field into something suitable for use as + * a major or minor component of a priority. */ STATIC INLINE unsigned32 _Priority_Bits_index ( @@ -113,6 +135,10 @@ STATIC INLINE unsigned32 _Priority_Bits_index ( * * _Priority_Add_to_bit_map * + * DESCRIPTION: + * + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been readied. */ STATIC INLINE void _Priority_Add_to_bit_map ( @@ -127,6 +153,11 @@ STATIC INLINE void _Priority_Add_to_bit_map ( * * _Priority_Remove_from_bit_map * + * DESCRIPTION: + * + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been removed from the + * ready state. */ STATIC INLINE void _Priority_Remove_from_bit_map ( @@ -142,6 +173,10 @@ STATIC INLINE void _Priority_Remove_from_bit_map ( * * _Priority_Get_highest * + * DESCRIPTION: + * + * This function returns the priority of the highest priority + * ready thread. */ STATIC INLINE Priority_Control _Priority_Get_highest( void ) @@ -160,6 +195,11 @@ STATIC INLINE Priority_Control _Priority_Get_highest( void ) * * _Priority_Initialize_information * + * DESCRIPTION: + * + * This routine initializes the_priority_map so that it + * contains the information necessary to manage a thread + * at new_priority. */ STATIC INLINE void _Priority_Initialize_information( @@ -190,6 +230,10 @@ STATIC INLINE void _Priority_Initialize_information( * * _Priority_Is_group_empty * + * DESCRIPTION: + * + * This function returns TRUE if the priority GROUP is empty, and + * FALSE otherwise. */ STATIC INLINE boolean _Priority_Is_group_empty ( diff --git a/c/src/exec/score/inline/rtems/score/address.inl b/c/src/exec/score/inline/rtems/score/address.inl index c1bb098577..343123c981 100644 --- a/c/src/exec/score/inline/rtems/score/address.inl +++ b/c/src/exec/score/inline/rtems/score/address.inl @@ -21,6 +21,11 @@ * * _Addresses_Add_offset * + * DESCRIPTION: + * + * This function is used to add an offset to a base address. + * It returns the resulting address. This address is typically + * converted to an access type before being used further. */ STATIC INLINE void *_Addresses_Add_offset ( @@ -35,6 +40,11 @@ STATIC INLINE void *_Addresses_Add_offset ( * * _Addresses_Subtract_offset * + * DESCRIPTION: + * + * This function is used to subtract an offset from a base + * address. It returns the resulting address. This address is + * typically converted to an access type before being used further. */ STATIC INLINE void *_Addresses_Subtract_offset ( @@ -49,6 +59,11 @@ STATIC INLINE void *_Addresses_Subtract_offset ( * * _Addresses_Subtract * + * DESCRIPTION: + * + * This function is used to subtract two addresses. It returns the + * resulting offset. + * * NOTE: The cast of an address to an unsigned32 makes this code * dependent on an addresses being thirty two bits. */ @@ -65,6 +80,11 @@ STATIC INLINE unsigned32 _Addresses_Subtract ( * * _Addresses_Is_aligned * + * DESCRIPTION: + * + * This function returns TRUE if the given address is correctly + * aligned for this processor and FALSE otherwise. Proper alignment + * is based on correctness and efficiency. */ STATIC INLINE boolean _Addresses_Is_aligned ( @@ -78,6 +98,13 @@ STATIC INLINE boolean _Addresses_Is_aligned ( * * _Addresses_Is_in_range * + * DESCRIPTION: + * + * This function returns TRUE if the given address is within the + * memory range specified and FALSE otherwise. base is the address + * of the first byte in the memory range and limit is the address + * of the last byte in the memory range. The base address is + * assumed to be lower than the limit address. */ STATIC INLINE boolean _Addresses_Is_in_range ( diff --git a/c/src/exec/score/inline/rtems/score/chain.inl b/c/src/exec/score/inline/rtems/score/chain.inl index 63706544e4..7fd3fef934 100644 --- a/c/src/exec/score/inline/rtems/score/chain.inl +++ b/c/src/exec/score/inline/rtems/score/chain.inl @@ -24,6 +24,11 @@ /*PAGE * * _Chain_Are_nodes_equal + * + * DESCRIPTION: + * + * This function returns TRUE if LEFT and RIGHT are equal, + * and FALSE otherwise. */ STATIC INLINE boolean _Chain_Are_nodes_equal( @@ -37,6 +42,10 @@ STATIC INLINE boolean _Chain_Are_nodes_equal( /*PAGE * * _Chain_Is_null + * + * DESCRIPTION: + * + * This function returns TRUE if the_chain is NULL and FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_null( @@ -49,6 +58,10 @@ STATIC INLINE boolean _Chain_Is_null( /*PAGE * * _Chain_Is_null_node + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is NULL and FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_null_node( @@ -61,6 +74,10 @@ STATIC INLINE boolean _Chain_Is_null_node( /*PAGE * * _Chain_Head + * + * DESCRIPTION: + * + * This function returns a pointer to the first node on the chain. */ STATIC INLINE Chain_Node *_Chain_Head( @@ -73,6 +90,10 @@ STATIC INLINE Chain_Node *_Chain_Head( /*PAGE * * _Chain_Tail + * + * DESCRIPTION: + * + * This function returns a pointer to the last node on the chain. */ STATIC INLINE Chain_Node *_Chain_Tail( @@ -85,6 +106,11 @@ STATIC INLINE Chain_Node *_Chain_Tail( /*PAGE * * _Chain_Is_empty + * + * DESCRIPTION: + * + * This function returns TRUE if there a no nodes on the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_empty( @@ -97,6 +123,11 @@ STATIC INLINE boolean _Chain_Is_empty( /*PAGE * * _Chain_Is_first + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the first node on a chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_first( @@ -109,6 +140,11 @@ STATIC INLINE boolean _Chain_Is_first( /*PAGE * * _Chain_Is_last + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the last node on a chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_last( @@ -121,6 +157,11 @@ STATIC INLINE boolean _Chain_Is_last( /*PAGE * * _Chain_Has_only_one_node + * + * DESCRIPTION: + * + * This function returns TRUE if there is only one node on the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Has_only_one_node( @@ -133,6 +174,11 @@ STATIC INLINE boolean _Chain_Has_only_one_node( /*PAGE * * _Chain_Is_head + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the head of the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_head( @@ -146,6 +192,11 @@ STATIC INLINE boolean _Chain_Is_head( /*PAGE * * _Chain_Is_tail + * + * DESCRIPTION: + * + * This function returns TRUE if the_node is the tail of the_chain and + * FALSE otherwise. */ STATIC INLINE boolean _Chain_Is_tail( @@ -159,6 +210,10 @@ STATIC INLINE boolean _Chain_Is_tail( /*PAGE * * Chain_Initialize_empty + * + * DESCRIPTION: + * + * This routine initializes the specified chain to contain zero nodes. */ STATIC INLINE void _Chain_Initialize_empty( @@ -173,6 +228,12 @@ STATIC INLINE void _Chain_Initialize_empty( /*PAGE * * _Chain_Extract_unprotected + * + * DESCRIPTION: + * + * This routine extracts the_node from the chain on which it resides. + * It does NOT disable interrupts to insure the atomicity of the + * extract operation. */ STATIC INLINE void _Chain_Extract_unprotected( @@ -191,6 +252,12 @@ STATIC INLINE void _Chain_Extract_unprotected( /*PAGE * * _Chain_Get_first_unprotected + * + * DESCRIPTION: + * + * This function removes the first node from the_chain and returns + * a pointer to that node. It does NOT disable interrupts to insure + * the atomicity of the get operation. */ STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( @@ -211,6 +278,13 @@ STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( /*PAGE * * Chain_Get_unprotected + * + * DESCRIPTION: + * + * This function removes the first node from the_chain and returns + * a pointer to that node. If the_chain is empty, then NULL is returned. + * It does NOT disable interrupts to insure the atomicity of the + * get operation. */ STATIC INLINE Chain_Node *_Chain_Get_unprotected( @@ -226,6 +300,12 @@ STATIC INLINE Chain_Node *_Chain_Get_unprotected( /*PAGE * * _Chain_Insert_unprotected + * + * DESCRIPTION: + * + * This routine inserts the_node on a chain immediately following + * after_node. It does NOT disable interrupts to insure the atomicity + * of the extract operation. */ STATIC INLINE void _Chain_Insert_unprotected( @@ -245,6 +325,12 @@ STATIC INLINE void _Chain_Insert_unprotected( /*PAGE * * _Chain_Append_unprotected + * + * DESCRIPTION: + * + * This routine appends the_node onto the end of the_chain. + * It does NOT disable interrupts to insure the atomicity of the + * append operation. */ STATIC INLINE void _Chain_Append_unprotected( @@ -264,6 +350,12 @@ STATIC INLINE void _Chain_Append_unprotected( /*PAGE * * _Chain_Prepend_unprotected + * + * DESCRIPTION: + * + * This routine prepends the_node onto the front of the_chain. + * It does NOT disable interrupts to insure the atomicity of the + * prepend operation. */ STATIC INLINE void _Chain_Prepend_unprotected( @@ -278,6 +370,12 @@ STATIC INLINE void _Chain_Prepend_unprotected( /*PAGE * * _Chain_Prepend + * + * DESCRIPTION: + * + * This routine prepends the_node onto the front of the_chain. + * It disables interrupts to insure the atomicity of the + * prepend operation. */ STATIC INLINE void _Chain_Prepend( diff --git a/c/src/exec/score/inline/rtems/score/coremsg.inl b/c/src/exec/score/inline/rtems/score/coremsg.inl index 5a1b5d4a10..84e7250aa7 100644 --- a/c/src/exec/score/inline/rtems/score/coremsg.inl +++ b/c/src/exec/score/inline/rtems/score/coremsg.inl @@ -23,6 +23,9 @@ * * _CORE_message_queue_Send * + * DESCRIPTION: + * + * This routine sends a message to the end of the specified message queue. */ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( @@ -47,6 +50,9 @@ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( * * _CORE_message_queue_Urgent * + * DESCRIPTION: + * + * This routine sends a message to the front of the specified message queue. */ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( @@ -71,6 +77,10 @@ STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( * * _CORE_message_queue_Copy_buffer * + * DESCRIPTION: + * + * This routine copies the contents of the source message buffer + * to the destination message buffer. */ STATIC INLINE void _CORE_message_queue_Copy_buffer ( @@ -86,6 +96,10 @@ STATIC INLINE void _CORE_message_queue_Copy_buffer ( * * _CORE_message_queue_Allocate_message_buffer * + * DESCRIPTION: + * + * This function allocates a message buffer from the inactive + * message buffer chain. */ STATIC INLINE CORE_message_queue_Buffer_control * @@ -101,6 +115,10 @@ _CORE_message_queue_Allocate_message_buffer ( * * _CORE_message_queue_Free_message_buffer * + * DESCRIPTION: + * + * This routine frees a message buffer to the inactive + * message buffer chain. */ STATIC INLINE void _CORE_message_queue_Free_message_buffer ( @@ -115,6 +133,10 @@ STATIC INLINE void _CORE_message_queue_Free_message_buffer ( * * _CORE_message_queue_Get_pending_message * + * DESCRIPTION: + * + * This function removes the first message from the_message_queue + * and returns a pointer to it. */ STATIC INLINE @@ -130,6 +152,10 @@ STATIC INLINE * * _CORE_message_queue_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_priority( @@ -143,6 +169,10 @@ STATIC INLINE boolean _CORE_message_queue_Is_priority( * * _CORE_message_queue_Append * + * DESCRIPTION: + * + * This routine places the_message at the rear of the outstanding + * messages on the_message_queue. */ STATIC INLINE void _CORE_message_queue_Append ( @@ -157,6 +187,10 @@ STATIC INLINE void _CORE_message_queue_Append ( * * _CORE_message_queue_Prepend * + * DESCRIPTION: + * + * This routine places the_message at the front of the outstanding + * messages on the_message_queue. */ STATIC INLINE void _CORE_message_queue_Prepend ( @@ -174,6 +208,9 @@ STATIC INLINE void _CORE_message_queue_Prepend ( * * _CORE_message_queue_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_null ( @@ -187,6 +224,10 @@ STATIC INLINE boolean _CORE_message_queue_Is_null ( * * _CORE_message_queue_Is_notify_enabled * + * DESCRIPTION: + * + * This function returns TRUE if notification is enabled on this message + * queue and FALSE otherwise. */ STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( @@ -200,6 +241,9 @@ STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( * * _CORE_message_queue_Set_notify * + * DESCRIPTION: + * + * This routine initializes the notification information for the_message_queue. */ STATIC INLINE void _CORE_message_queue_Set_notify ( diff --git a/c/src/exec/score/inline/rtems/score/coremutex.inl b/c/src/exec/score/inline/rtems/score/coremutex.inl index 8681795085..537d6f7e5f 100644 --- a/c/src/exec/score/inline/rtems/score/coremutex.inl +++ b/c/src/exec/score/inline/rtems/score/coremutex.inl @@ -21,6 +21,10 @@ * * _CORE_mutex_Is_locked * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex specified is locked and FALSE + * otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_locked( @@ -34,6 +38,10 @@ STATIC INLINE boolean _CORE_mutex_Is_locked( * * _CORE_mutex_Is_fifo * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE + * otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_fifo( @@ -47,6 +55,10 @@ STATIC INLINE boolean _CORE_mutex_Is_fifo( * * _CORE_mutex_Is_priority * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is PRIORITY and + * FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_priority( @@ -60,6 +72,10 @@ STATIC INLINE boolean _CORE_mutex_Is_priority( * * _CORE_mutex_Is_inherit_priority * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is + * INHERIT_PRIORITY and FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( @@ -73,6 +89,10 @@ STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( * * _CORE_mutex_Is_priority_ceiling * + * DESCRIPTION: + * + * This routine returns TRUE if the mutex's wait discipline is + * PRIORITY_CEILING and FALSE otherwise. */ STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( diff --git a/c/src/exec/score/inline/rtems/score/coresem.inl b/c/src/exec/score/inline/rtems/score/coresem.inl index 53f7d68595..6f82318d10 100644 --- a/c/src/exec/score/inline/rtems/score/coresem.inl +++ b/c/src/exec/score/inline/rtems/score/coresem.inl @@ -21,6 +21,10 @@ * * _CORE_semaphore_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _CORE_semaphore_Is_priority( @@ -34,6 +38,9 @@ STATIC INLINE boolean _CORE_semaphore_Is_priority( * * _CORE_semaphore_Get_count * + * DESCRIPTION: + * + * This routine returns the current count associated with the semaphore. */ STATIC INLINE unsigned32 _CORE_semaphore_Get_count( diff --git a/c/src/exec/score/inline/rtems/score/heap.inl b/c/src/exec/score/inline/rtems/score/heap.inl index 0d1b1231a7..6b4b1af74e 100644 --- a/c/src/exec/score/inline/rtems/score/heap.inl +++ b/c/src/exec/score/inline/rtems/score/heap.inl @@ -23,6 +23,9 @@ * * _Heap_Head * + * DESCRIPTION: + * + * This function returns the head of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Head ( @@ -36,6 +39,9 @@ STATIC INLINE Heap_Block *_Heap_Head ( * * _Heap_Tail * + * DESCRIPTION: + * + * This function returns the tail of the specified heap. */ STATIC INLINE Heap_Block *_Heap_Tail ( @@ -49,6 +55,10 @@ STATIC INLINE Heap_Block *_Heap_Tail ( * * _Heap_Previous_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * precedes the_block in memory. */ STATIC INLINE Heap_Block *_Heap_Previous_block ( @@ -65,6 +75,11 @@ STATIC INLINE Heap_Block *_Heap_Previous_block ( * * _Heap_Next_block * + * DESCRIPTION: + * + * This function returns the address of the block which physically + * follows the_block in memory. + * * NOTE: Next_block assumes that the block is free. */ @@ -82,6 +97,10 @@ STATIC INLINE Heap_Block *_Heap_Next_block ( * * _Heap_Block_at * + * DESCRIPTION: + * + * This function calculates and returns a block's location (address) + * in the heap based upad a base address and an offset. */ STATIC INLINE Heap_Block *_Heap_Block_at( @@ -96,6 +115,9 @@ STATIC INLINE Heap_Block *_Heap_Block_at( * * _Heap_User_block_at * + * DESCRIPTION: + * + * XXX */ STATIC INLINE Heap_Block *_Heap_User_block_at( @@ -112,6 +134,10 @@ STATIC INLINE Heap_Block *_Heap_User_block_at( * * _Heap_Is_previous_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the previous block of the_block + * is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_previous_block_free ( @@ -125,6 +151,9 @@ STATIC INLINE boolean _Heap_Is_previous_block_free ( * * _Heap_Is_block_free * + * DESCRIPTION: + * + * This function returns TRUE if the block is free, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_free ( @@ -138,6 +167,10 @@ STATIC INLINE boolean _Heap_Is_block_free ( * * _Heap_Is_block_used * + * DESCRIPTION: + * + * This function returns TRUE if the block is currently allocated, + * and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_used ( @@ -151,6 +184,9 @@ STATIC INLINE boolean _Heap_Is_block_used ( * * _Heap_Block_size * + * DESCRIPTION: + * + * This function returns the size of the_block in bytes. */ STATIC INLINE unsigned32 _Heap_Block_size ( @@ -164,6 +200,10 @@ STATIC INLINE unsigned32 _Heap_Block_size ( * * _Heap_Start_of_user_area * + * DESCRIPTION: + * + * This function returns the starting address of the portion of the block + * which the user may access. */ STATIC INLINE void *_Heap_Start_of_user_area ( @@ -177,6 +217,10 @@ STATIC INLINE void *_Heap_Start_of_user_area ( * * _Heap_Is_block_in * + * DESCRIPTION: + * + * This function returns TRUE if the_block is within the memory area + * managed by the_heap, and FALSE otherwise. */ STATIC INLINE boolean _Heap_Is_block_in ( @@ -191,6 +235,12 @@ STATIC INLINE boolean _Heap_Is_block_in ( * * _Heap_Is_page_size_valid * + * DESCRIPTION: + * + * This function validates a specified heap page size. If the page size + * is 0 or if lies outside a page size alignment boundary it is invalid + * and FALSE is returned. Otherwise, the page size is valid and TRUE is + * returned. */ STATIC INLINE boolean _Heap_Is_page_size_valid( @@ -205,6 +255,11 @@ STATIC INLINE boolean _Heap_Is_page_size_valid( * * _Heap_Build_flag * + * DESCRIPTION: + * + * This function returns the block flag composed of size and in_use_flag. + * The flag returned is suitable for use as a back or front flag in a + * heap block. */ STATIC INLINE unsigned32 _Heap_Build_flag ( diff --git a/c/src/exec/score/inline/rtems/score/isr.inl b/c/src/exec/score/inline/rtems/score/isr.inl index 2b4969a5db..2dd41315bc 100644 --- a/c/src/exec/score/inline/rtems/score/isr.inl +++ b/c/src/exec/score/inline/rtems/score/isr.inl @@ -21,6 +21,12 @@ * * _ISR_Is_in_progress * + * DESCRIPTION: + * + * This function returns TRUE if the processor is currently servicing + * and interrupt and FALSE otherwise. A return value of TRUE indicates + * that the caller is an interrupt service routine, NOT a thread. The + * directives available to an interrupt service routine are restricted. */ STATIC INLINE boolean _ISR_Is_in_progress( void ) @@ -32,6 +38,10 @@ STATIC INLINE boolean _ISR_Is_in_progress( void ) * * _ISR_Is_vector_number_valid * + * DESCRIPTION: + * + * This function returns TRUE if the vector is a valid vector number + * for this processor and FALSE otherwise. */ STATIC INLINE boolean _ISR_Is_vector_number_valid ( @@ -45,6 +55,11 @@ STATIC INLINE boolean _ISR_Is_vector_number_valid ( * * _ISR_Is_valid_user_handler * + * + * DESCRIPTION: + * + * This function returns TRUE if handler is the entry point of a valid + * use interrupt service routine and FALSE otherwise. */ STATIC INLINE boolean _ISR_Is_valid_user_handler ( diff --git a/c/src/exec/score/inline/rtems/score/mppkt.inl b/c/src/exec/score/inline/rtems/score/mppkt.inl index c23d756ec9..c8b6ecd117 100644 --- a/c/src/exec/score/inline/rtems/score/mppkt.inl +++ b/c/src/exec/score/inline/rtems/score/mppkt.inl @@ -21,6 +21,11 @@ * * _Mp_packet_Is_valid_packet_class * + * DESCRIPTION: + * + * This function returns TRUE if the the_packet_class is valid, + * and FALSE otherwise. + * * NOTE: Check for lower bounds (MP_PACKET_CLASSES_FIRST ) is unnecessary * because this enum starts at lower bound of zero. */ @@ -36,6 +41,10 @@ STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( * * _Mp_packet_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the the_packet_class is null, + * and FALSE otherwise. */ STATIC INLINE boolean _Mp_packet_Is_null ( diff --git a/c/src/exec/score/inline/rtems/score/object.inl b/c/src/exec/score/inline/rtems/score/object.inl index eb07a24890..249814bacf 100644 --- a/c/src/exec/score/inline/rtems/score/object.inl +++ b/c/src/exec/score/inline/rtems/score/object.inl @@ -21,6 +21,10 @@ * * _Objects_Build_id * + * DESCRIPTION: + * + * This function builds an object's id from the processor node and index + * values specified. */ STATIC INLINE Objects_Id _Objects_Build_id( @@ -37,6 +41,10 @@ STATIC INLINE Objects_Id _Objects_Build_id( /*PAGE * * _Objects_Get_class + * + * DESCRIPTION: + * + * This function returns the class portion of the ID. */ STATIC INLINE Objects_Classes _Objects_Get_class( @@ -52,6 +60,9 @@ STATIC INLINE Objects_Classes _Objects_Get_class( * * _Objects_Get_node * + * DESCRIPTION: + * + * This function returns the node portion of the ID. */ STATIC INLINE unsigned32 _Objects_Get_node( @@ -65,6 +76,9 @@ STATIC INLINE unsigned32 _Objects_Get_node( * * _Objects_Get_index * + * DESCRIPTION: + * + * This function returns the index portion of the ID. */ STATIC INLINE unsigned32 _Objects_Get_index( @@ -78,6 +92,9 @@ STATIC INLINE unsigned32 _Objects_Get_index( * * _Objects_Is_class_valid * + * DESCRIPTION: + * + * This function returns TRUE if the class is valid. */ STATIC INLINE boolean _Objects_Is_class_valid( @@ -91,6 +108,10 @@ STATIC INLINE boolean _Objects_Is_class_valid( * * _Objects_Is_local_node * + * DESCRIPTION: + * + * This function returns TRUE if the node is of the local object, and + * FALSE otherwise. */ STATIC INLINE boolean _Objects_Is_local_node( @@ -104,6 +125,10 @@ STATIC INLINE boolean _Objects_Is_local_node( * * _Objects_Is_local_id * + * DESCRIPTION: + * + * This function returns TRUE if the id is of a local object, and + * FALSE otherwise. */ STATIC INLINE boolean _Objects_Is_local_id( @@ -117,6 +142,10 @@ STATIC INLINE boolean _Objects_Is_local_id( * * _Objects_Are_ids_equal * + * DESCRIPTION: + * + * This function returns TRUE if left and right are equal, + * and FALSE otherwise. */ STATIC INLINE boolean _Objects_Are_ids_equal( @@ -131,6 +160,10 @@ STATIC INLINE boolean _Objects_Are_ids_equal( * * _Objects_Allocate * + * DESCRIPTION: + * + * This function allocates a object control block from + * the inactive chain of free object control blocks. */ STATIC INLINE Objects_Control *_Objects_Allocate( @@ -144,6 +177,10 @@ STATIC INLINE Objects_Control *_Objects_Allocate( * * _Objects_Free * + * DESCRIPTION: + * + * This function frees a object control block to the + * inactive chain of free object control blocks. */ STATIC INLINE void _Objects_Free( @@ -158,6 +195,10 @@ STATIC INLINE void _Objects_Free( * * _Objects_Open * + * DESCRIPTION: + * + * This function places the_object control pointer and object name + * in the Local Pointer and Local Name Tables, respectively. */ STATIC INLINE void _Objects_Open( @@ -181,6 +222,10 @@ STATIC INLINE void _Objects_Open( * * _Objects_Close * + * DESCRIPTION: + * + * This function removes the_object control pointer and object name + * in the Local Pointer and Local Name Tables. */ STATIC INLINE void _Objects_Close( diff --git a/c/src/exec/score/inline/rtems/score/objectmp.inl b/c/src/exec/score/inline/rtems/score/objectmp.inl index e09a3df528..dda2799643 100644 --- a/c/src/exec/score/inline/rtems/score/objectmp.inl +++ b/c/src/exec/score/inline/rtems/score/objectmp.inl @@ -21,6 +21,9 @@ * * _Objects_MP_Allocate_global_object * + * DESCRIPTION: + * + * This function allocates a Global Object control block. */ STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( @@ -32,8 +35,12 @@ STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( } /*PAGE + * * _Objects_MP_Free_global_object * + * DESCRIPTION: + * + * This routine deallocates a Global Object control block. */ STATIC INLINE void _Objects_MP_Free_global_object ( @@ -47,8 +54,12 @@ STATIC INLINE void _Objects_MP_Free_global_object ( } /*PAGE + * * _Objects_MP_Is_null_global_object * + * DESCRIPTION: + * + * This function returns whether the global object is NULL or not. */ STATIC INLINE boolean _Objects_MP_Is_null_global_object ( diff --git a/c/src/exec/score/inline/rtems/score/priority.inl b/c/src/exec/score/inline/rtems/score/priority.inl index 413e3b6724..d65056057b 100644 --- a/c/src/exec/score/inline/rtems/score/priority.inl +++ b/c/src/exec/score/inline/rtems/score/priority.inl @@ -23,6 +23,9 @@ * * _Priority_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _Priority_Handler_initialization( void ) @@ -38,6 +41,10 @@ STATIC INLINE void _Priority_Handler_initialization( void ) * * _Priority_Is_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_priority if valid for a + * user task, and FALSE otherwise. */ STATIC INLINE boolean _Priority_Is_valid ( @@ -56,6 +63,9 @@ STATIC INLINE boolean _Priority_Is_valid ( * * _Priority_Major * + * DESCRIPTION: + * + * This function returns the major portion of the_priority. */ STATIC INLINE unsigned32 _Priority_Major ( @@ -69,6 +79,9 @@ STATIC INLINE unsigned32 _Priority_Major ( * * _Priority_Minor * + * DESCRIPTION: + * + * This function returns the minor portion of the_priority. */ STATIC INLINE unsigned32 _Priority_Minor ( @@ -84,6 +97,10 @@ STATIC INLINE unsigned32 _Priority_Minor ( * * _Priority_Mask * + * DESCRIPTION: + * + * This function returns the mask associated with the major or minor + * number passed to it. */ STATIC INLINE unsigned32 _Priority_Mask ( @@ -98,6 +115,11 @@ STATIC INLINE unsigned32 _Priority_Mask ( * * _Priority_Bits_index * + * DESCRIPTION: + * + * This function translates the bit numbers returned by the bit scan + * of a priority bit field into something suitable for use as + * a major or minor component of a priority. */ STATIC INLINE unsigned32 _Priority_Bits_index ( @@ -113,6 +135,10 @@ STATIC INLINE unsigned32 _Priority_Bits_index ( * * _Priority_Add_to_bit_map * + * DESCRIPTION: + * + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been readied. */ STATIC INLINE void _Priority_Add_to_bit_map ( @@ -127,6 +153,11 @@ STATIC INLINE void _Priority_Add_to_bit_map ( * * _Priority_Remove_from_bit_map * + * DESCRIPTION: + * + * This routine uses the_priority_map to update the priority + * bit maps to indicate that a thread has been removed from the + * ready state. */ STATIC INLINE void _Priority_Remove_from_bit_map ( @@ -142,6 +173,10 @@ STATIC INLINE void _Priority_Remove_from_bit_map ( * * _Priority_Get_highest * + * DESCRIPTION: + * + * This function returns the priority of the highest priority + * ready thread. */ STATIC INLINE Priority_Control _Priority_Get_highest( void ) @@ -160,6 +195,11 @@ STATIC INLINE Priority_Control _Priority_Get_highest( void ) * * _Priority_Initialize_information * + * DESCRIPTION: + * + * This routine initializes the_priority_map so that it + * contains the information necessary to manage a thread + * at new_priority. */ STATIC INLINE void _Priority_Initialize_information( @@ -190,6 +230,10 @@ STATIC INLINE void _Priority_Initialize_information( * * _Priority_Is_group_empty * + * DESCRIPTION: + * + * This function returns TRUE if the priority GROUP is empty, and + * FALSE otherwise. */ STATIC INLINE boolean _Priority_Is_group_empty ( diff --git a/c/src/exec/score/inline/rtems/score/stack.inl b/c/src/exec/score/inline/rtems/score/stack.inl index 7c6acf7cb3..d29874a7dd 100644 --- a/c/src/exec/score/inline/rtems/score/stack.inl +++ b/c/src/exec/score/inline/rtems/score/stack.inl @@ -21,6 +21,11 @@ * * _Stack_Initialize * + * DESCRIPTION: + * + * This routine initializes the_stack record to indicate that + * size bytes of memory starting at starting_address have been + * reserved for a stack. */ STATIC INLINE void _Stack_Initialize ( @@ -37,6 +42,10 @@ STATIC INLINE void _Stack_Initialize ( * * _Stack_Is_enough * + * DESCRIPTION: + * + * This function returns TRUE if size bytes is enough memory for + * a valid stack area on this processor, and FALSE otherwise. */ STATIC INLINE boolean _Stack_Is_enough ( @@ -50,6 +59,15 @@ STATIC INLINE boolean _Stack_Is_enough ( * * _Stack_Adjust_size * + * DESCRIPTION: + * + * This function increases the stack size to insure that the thread + * has the desired amount of stack space after the initial stack + * pointer is determined based on alignment restrictions. + * + * NOTE: + * + * The amount of adjustment for alignment is CPU dependent. */ STATIC INLINE unsigned32 _Stack_Adjust_size ( diff --git a/c/src/exec/score/inline/rtems/score/states.inl b/c/src/exec/score/inline/rtems/score/states.inl index 23ee8cacbc..fad8ce727c 100644 --- a/c/src/exec/score/inline/rtems/score/states.inl +++ b/c/src/exec/score/inline/rtems/score/states.inl @@ -21,6 +21,10 @@ * * _States_Set * + * DESCRIPTION: + * + * This function sets the given states_to_set into the current_state + * passed in. The result is returned to the user in current_state. */ STATIC INLINE States_Control _States_Set ( @@ -35,6 +39,10 @@ STATIC INLINE States_Control _States_Set ( * * _States_Clear * + * DESCRIPTION: + * + * This function clears the given states_to_clear into the current_state + * passed in. The result is returned to the user in current_state. */ STATIC INLINE States_Control _States_Clear ( @@ -49,6 +57,10 @@ STATIC INLINE States_Control _States_Clear ( * * _States_Is_ready * + * DESCRIPTION: + * + * This function returns TRUE if the_states indicates that the + * state is READY, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_ready ( @@ -62,6 +74,10 @@ STATIC INLINE boolean _States_Is_ready ( * * _States_Is_only_dormant * + * DESCRIPTION: + * + * This function returns TRUE if the DORMANT state is the ONLY state + * set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_only_dormant ( @@ -75,6 +91,10 @@ STATIC INLINE boolean _States_Is_only_dormant ( * * _States_Is_dormant * + * DESCRIPTION: + * + * This function returns TRUE if the DORMANT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_dormant ( @@ -88,6 +108,10 @@ STATIC INLINE boolean _States_Is_dormant ( * * _States_Is_suspended * + * DESCRIPTION: + * + * This function returns TRUE if the SUSPENDED state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_suspended ( @@ -101,6 +125,10 @@ STATIC INLINE boolean _States_Is_suspended ( * * _States_Is_Transient * + * DESCRIPTION: + * + * This function returns TRUE if the TRANSIENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_transient ( @@ -114,6 +142,10 @@ STATIC INLINE boolean _States_Is_transient ( * * _States_Is_delaying * + * DESCRIPTION: + * + * This function returns TRUE if the DELAYING state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_delaying ( @@ -127,6 +159,10 @@ STATIC INLINE boolean _States_Is_delaying ( * * _States_Is_waiting_for_buffer * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_BUFFER state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_buffer ( @@ -140,6 +176,10 @@ STATIC INLINE boolean _States_Is_waiting_for_buffer ( * * _States_Is_waiting_for_segment * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_segment ( @@ -153,6 +193,10 @@ STATIC INLINE boolean _States_Is_waiting_for_segment ( * * _States_Is_waiting_for_message * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_message ( @@ -166,6 +210,10 @@ STATIC INLINE boolean _States_Is_waiting_for_message ( * * _States_Is_waiting_for_event * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_EVENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_event ( @@ -179,6 +227,10 @@ STATIC INLINE boolean _States_Is_waiting_for_event ( * * _States_Is_waiting_for_mutex * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_MUTEX state + * is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_mutex ( @@ -192,6 +244,10 @@ STATIC INLINE boolean _States_Is_waiting_for_mutex ( * * _States_Is_waiting_for_semaphore * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_SEMAPHORE state + * is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_semaphore ( @@ -205,6 +261,10 @@ STATIC INLINE boolean _States_Is_waiting_for_semaphore ( * * _States_Is_waiting_for_time * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_TIME state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_time ( @@ -218,6 +278,10 @@ STATIC INLINE boolean _States_Is_waiting_for_time ( * * _States_Is_waiting_for_rpc_reply * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_TIME state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( @@ -231,6 +295,10 @@ STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( * * _States_Is_waiting_for_period * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_PERIOD state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_period ( @@ -244,6 +312,11 @@ STATIC INLINE boolean _States_Is_waiting_for_period ( * * _States_Is_locally_blocked * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_locally_blocked ( @@ -257,6 +330,11 @@ STATIC INLINE boolean _States_Is_locally_blocked ( * * _States_Is_waiting_on_thread_queue * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( @@ -270,6 +348,10 @@ STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( * * _States_Is_blocked * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_blocked ( @@ -279,11 +361,15 @@ STATIC INLINE boolean _States_Is_blocked ( return (the_states & STATES_BLOCKED); } -/*PAGEPAGE +/*PAGE * * * _States_Are_set * + * DESCRIPTION: + * + * This function returns TRUE if any of the states in the mask + * are set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Are_set ( diff --git a/c/src/exec/score/inline/rtems/score/sysstate.inl b/c/src/exec/score/inline/rtems/score/sysstate.inl index 180e6abe54..08f8b9c513 100644 --- a/c/src/exec/score/inline/rtems/score/sysstate.inl +++ b/c/src/exec/score/inline/rtems/score/sysstate.inl @@ -20,6 +20,10 @@ /*PAGE * * _System_state_Handler_initialization + * + * DESCRIPTION: + * + * This routine initializes the system state handler. */ STATIC INLINE void _System_state_Handler_initialization ( @@ -33,6 +37,11 @@ STATIC INLINE void _System_state_Handler_initialization ( /*PAGE * * _System_state_Set + * + * DESCRIPTION: + * + * This routine sets the current system state to that specified by + * the called. */ STATIC INLINE void _System_state_Set ( @@ -45,6 +54,10 @@ STATIC INLINE void _System_state_Set ( /*PAGE * * _System_state_Get + * + * DESCRIPTION: + * + * This function returns the current system state. */ STATIC INLINE System_state_Codes _System_state_Get ( void ) @@ -55,6 +68,11 @@ STATIC INLINE System_state_Codes _System_state_Get ( void ) /*PAGE * * _System_state_Is_before_initialization + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "before initialization" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_before_initialization ( @@ -67,6 +85,11 @@ STATIC INLINE boolean _System_state_Is_before_initialization ( /*PAGE * * _System_state_Is_before_multitasking + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "before multitasking" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_before_multitasking ( @@ -79,6 +102,11 @@ STATIC INLINE boolean _System_state_Is_before_multitasking ( /*PAGE * * _System_state_Is_begin_multitasking + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "begin multitasking" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_begin_multitasking ( @@ -91,6 +119,11 @@ STATIC INLINE boolean _System_state_Is_begin_multitasking ( /*PAGE * * _System_state_Is_up + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "up" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_up ( @@ -103,6 +136,11 @@ STATIC INLINE boolean _System_state_Is_up ( /*PAGE * * _System_state_Is_failed + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "failed" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_failed ( diff --git a/c/src/exec/score/inline/rtems/score/thread.inl b/c/src/exec/score/inline/rtems/score/thread.inl index 265f51a8d0..53d5d41751 100644 --- a/c/src/exec/score/inline/rtems/score/thread.inl +++ b/c/src/exec/score/inline/rtems/score/thread.inl @@ -21,6 +21,11 @@ * * _Thread_Stop_multitasking * + * DESCRIPTION: + * + * This routine halts multitasking and returns control to + * the "thread" (i.e. the BSP) which initially invoked the + * routine which initialized the system. */ STATIC INLINE void _Thread_Stop_multitasking( void ) @@ -32,6 +37,10 @@ STATIC INLINE void _Thread_Stop_multitasking( void ) * * _Thread_Is_executing * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is the currently executing + * thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_executing ( @@ -45,6 +54,10 @@ STATIC INLINE boolean _Thread_Is_executing ( * * _Thread_Is_heir * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is the heir + * thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_heir ( @@ -58,6 +71,10 @@ STATIC INLINE boolean _Thread_Is_heir ( * * _Thread_Is_executing_also_the_heir * + * DESCRIPTION: + * + * This function returns TRUE if the currently executing thread + * is also the heir thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ) @@ -69,6 +86,11 @@ STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ) * * _Thread_Resume * + * DESCRIPTION: + * + * This routine clears the SUSPENDED state for the_thread. It performs + * any necessary scheduling operations including the selection of + * a new heir thread. */ STATIC INLINE void _Thread_Resume ( @@ -82,6 +104,11 @@ STATIC INLINE void _Thread_Resume ( * * _Thread_Unblock * + * DESCRIPTION: + * + * This routine clears any blocking state for the_thread. It performs + * any necessary scheduling operations including the selection of + * a new heir thread. */ STATIC INLINE void _Thread_Unblock ( @@ -95,6 +122,10 @@ STATIC INLINE void _Thread_Unblock ( * * _Thread_Restart_self * + * DESCRIPTION: + * + * This routine resets the current context of the calling thread + * to that of its initial state. */ STATIC INLINE void _Thread_Restart_self( void ) @@ -109,6 +140,10 @@ STATIC INLINE void _Thread_Restart_self( void ) * * _Thread_Calculate_heir * + * DESCRIPTION: + * + * This function returns a pointer to the highest priority + * ready thread. */ STATIC INLINE void _Thread_Calculate_heir( void ) @@ -121,6 +156,11 @@ STATIC INLINE void _Thread_Calculate_heir( void ) * * _Thread_Is_allocated_fp * + * DESCRIPTION: + * + * This function returns TRUE if the floating point context of + * the_thread is currently loaded in the floating point unit, and + * FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_allocated_fp ( @@ -134,6 +174,10 @@ STATIC INLINE boolean _Thread_Is_allocated_fp ( * * _Thread_Deallocate_fp * + * DESCRIPTION: + * + * This routine is invoked when the currently loaded floating + * point context is now longer associated with an active thread. */ STATIC INLINE void _Thread_Deallocate_fp( void ) @@ -145,6 +189,9 @@ STATIC INLINE void _Thread_Deallocate_fp( void ) * * _Thread_Disable_dispatch * + * DESCRIPTION: + * + * This routine prevents dispatching. */ STATIC INLINE void _Thread_Disable_dispatch( void ) @@ -156,6 +203,12 @@ STATIC INLINE void _Thread_Disable_dispatch( void ) * * _Thread_Enable_dispatch * + * DESCRIPTION: + * + * This routine allows dispatching to occur again. If this is + * the outer most dispatching critical section, then a dispatching + * operation will be performed and, if necessary, control of the + * processor will be transferred to the heir thread. */ #if ( CPU_INLINE_ENABLE_DISPATCH == TRUE ) @@ -174,6 +227,11 @@ void _Thread_Enable_dispatch( void ); * * _Thread_Unnest_dispatch * + * DESCRIPTION: + * + * This routine allows dispatching to occur again. However, + * no dispatching operation is performed even if this is the outer + * most dispatching critical section. */ STATIC INLINE void _Thread_Unnest_dispatch( void ) @@ -185,6 +243,10 @@ STATIC INLINE void _Thread_Unnest_dispatch( void ) * * _Thread_Is_dispatching_enabled * + * DESCRIPTION: + * + * This function returns TRUE if dispatching is disabled, and FALSE + * otherwise. */ STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ) @@ -196,6 +258,10 @@ STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ) * * _Thread_Is_context_switch_necessary * + * DESCRIPTION: + * + * This function returns TRUE if dispatching is disabled, and FALSE + * otherwise. */ STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ) @@ -207,6 +273,9 @@ STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ) * * _Thread_Dispatch_initialization * + * DESCRIPTION: + * + * This routine initializes the thread dispatching subsystem. */ STATIC INLINE void _Thread_Dispatch_initialization( void ) @@ -218,6 +287,9 @@ STATIC INLINE void _Thread_Dispatch_initialization( void ) * * _Thread_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is NULL and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_null ( @@ -231,6 +303,17 @@ STATIC INLINE boolean _Thread_Is_null ( * * _Thread_Get * + * DESCRIPTION: + * + * This function maps thread IDs to thread control + * blocks. If ID corresponds to a local thread, then it + * returns the_thread control pointer which maps to ID + * and location is set to OBJECTS_LOCAL. If the thread ID is + * global and resides on a remote node, then location is set + * to OBJECTS_REMOTE, and the_thread is undefined. + * Otherwise, location is set to OBJECTS_ERROR and + * the_thread is undefined. + * * NOTE: XXX... This routine may be able to be optimized. */ @@ -274,6 +357,10 @@ done: /* * _Thread_Is_proxy_blocking * + * DESCRIPTION: + * + * This function returns TRUE if the status code is equal to the + * status which indicates that a proxy is blocking, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_proxy_blocking ( @@ -287,6 +374,9 @@ STATIC INLINE boolean _Thread_Is_proxy_blocking ( * * _Thread_Internal_allocate * + * DESCRIPTION: + * + * This routine allocates an internal thread. */ STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ) @@ -298,6 +388,9 @@ STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ) * * _Thread_Internal_free * + * DESCRIPTION: + * + * This routine frees an internal thread. */ STATIC INLINE void _Thread_Internal_free ( diff --git a/c/src/exec/score/inline/rtems/score/threadmp.inl b/c/src/exec/score/inline/rtems/score/threadmp.inl index f4beba59ed..f16f64e48a 100644 --- a/c/src/exec/score/inline/rtems/score/threadmp.inl +++ b/c/src/exec/score/inline/rtems/score/threadmp.inl @@ -21,6 +21,10 @@ * * _Thread_MP_Is_receive * + * DESCRIPTION: + * + * This function returns true if the thread in question is the + * multiprocessing receive thread. */ STATIC INLINE boolean _Thread_MP_Is_receive ( @@ -34,6 +38,10 @@ STATIC INLINE boolean _Thread_MP_Is_receive ( * * _Thread_MP_Free_proxy * + * DESCRIPTION: + * + * This routine frees a proxy control block to the + * inactive chain of free proxy control blocks. */ STATIC INLINE void _Thread_MP_Free_proxy ( diff --git a/c/src/exec/score/inline/rtems/score/tod.inl b/c/src/exec/score/inline/rtems/score/tod.inl index dce8aca426..5ed1e76d8f 100644 --- a/c/src/exec/score/inline/rtems/score/tod.inl +++ b/c/src/exec/score/inline/rtems/score/tod.inl @@ -21,6 +21,10 @@ * * _TOD_Is_set * + * DESCRIPTION: + * + * This function returns TRUE if the application has set the current + * time of day, and FALSE otherwise. */ STATIC INLINE boolean _TOD_Is_set( void ) @@ -32,6 +36,10 @@ STATIC INLINE boolean _TOD_Is_set( void ) * * _TOD_Tickle_ticks * + * DESCRIPTION: + * + * This routine increments the ticks field of the current time of + * day at each clock tick. */ STATIC INLINE void _TOD_Tickle_ticks( void ) @@ -44,6 +52,9 @@ STATIC INLINE void _TOD_Tickle_ticks( void ) * * _TOD_Deactivate * + * DESCRIPTION: + * + * This routine deactivates updating of the current time of day. */ STATIC INLINE void _TOD_Deactivate( void ) @@ -55,6 +66,9 @@ STATIC INLINE void _TOD_Deactivate( void ) * * _TOD_Activate * + * DESCRIPTION: + * + * This routine activates updating of the current time of day. */ STATIC INLINE void _TOD_Activate( diff --git a/c/src/exec/score/inline/rtems/score/tqdata.inl b/c/src/exec/score/inline/rtems/score/tqdata.inl index b16b3a1ca1..c7d8630062 100644 --- a/c/src/exec/score/inline/rtems/score/tqdata.inl +++ b/c/src/exec/score/inline/rtems/score/tqdata.inl @@ -21,32 +21,44 @@ * * _Thread_queue_Header_number * + * DESCRIPTION: + * + * This function returns the index of the priority chain on which + * a thread of the_priority should be placed. */ STATIC INLINE unsigned32 _Thread_queue_Header_number ( Priority_Control the_priority ) { - return ( the_priority >> 6 ); + return (the_priority / TASK_QUEUE_DATA_PRIORITIES_PER_HEADER); } /*PAGE * * _Thread_queue_Is_reverse_search * + * DESCRIPTION: + * + * This function returns TRUE if the_priority indicates that the + * enqueue search should start at the front of this priority + * group chain, and FALSE if the search should start at the rear. */ STATIC INLINE boolean _Thread_queue_Is_reverse_search ( Priority_Control the_priority ) { - return ( the_priority & 0x20 ); + return ( the_priority & TASK_QUEUE_DATA_REVERSE_SEARCH_MASK ); } /*PAGE * * _Thread_queue_Get_number_waiting * + * DESCRIPTION: + * + * This function returns the number of threads waiting on this thread queue. */ STATIC INLINE unsigned32 _Thread_queue_Get_number_waiting ( @@ -60,6 +72,10 @@ STATIC INLINE unsigned32 _Thread_queue_Get_number_waiting ( * * _Thread_queue_Enter_critical_section * + * DESCRIPTION: + * + * This routine is invoked to indicate that the specified thread queue is + * entering a critical section. */ STATIC INLINE void _Thread_queue_Enter_critical_section ( diff --git a/c/src/exec/score/inline/rtems/score/userext.inl b/c/src/exec/score/inline/rtems/score/userext.inl index 2b4483c553..a9a858b2e2 100644 --- a/c/src/exec/score/inline/rtems/score/userext.inl +++ b/c/src/exec/score/inline/rtems/score/userext.inl @@ -21,6 +21,9 @@ * * _User_extensions_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _User_extensions_Handler_initialization ( @@ -38,6 +41,10 @@ STATIC INLINE void _User_extensions_Handler_initialization ( /*PAGE * * _User_extensions_Add_set + * + * DESCRIPTION: + * + * This routine is used to add a user extension set to the active list. */ STATIC INLINE void _User_extensions_Add_set ( @@ -53,6 +60,9 @@ STATIC INLINE void _User_extensions_Add_set ( /*PAGE * * _User_extensions_Add_API_set + * DESCRIPTION: + * + * This routine is used to add an API extension set to the active list. */ STATIC INLINE void _User_extensions_Add_API_set ( @@ -65,6 +75,10 @@ STATIC INLINE void _User_extensions_Add_API_set ( /*PAGE * * _User_extensions_Remove_set + * + * DESCRIPTION: + * + * This routine is used to remove a user extension set from the active list. */ STATIC INLINE void _User_extensions_Remove_set ( @@ -78,6 +92,10 @@ STATIC INLINE void _User_extensions_Remove_set ( * * _User_extensions_Thread_switch * + * DESCRIPTION: + * + * This routine is used to invoke the user extension which + * is invoked when a context switch occurs. */ STATIC INLINE void _User_extensions_Thread_switch ( diff --git a/c/src/exec/score/inline/rtems/score/watchdog.inl b/c/src/exec/score/inline/rtems/score/watchdog.inl index ae3717e102..75fb662dfc 100644 --- a/c/src/exec/score/inline/rtems/score/watchdog.inl +++ b/c/src/exec/score/inline/rtems/score/watchdog.inl @@ -21,6 +21,11 @@ * * _Watchdog_Initialize * + * DESCRIPTION: + * + * This routine initializes the specified watchdog. The watchdog is + * made inactive, the watchdog id and handler routine are set to the + * specified values. */ STATIC INLINE void _Watchdog_Initialize( @@ -40,6 +45,10 @@ STATIC INLINE void _Watchdog_Initialize( * * _Watchdog_Is_active * + * DESCRIPTION: + * + * This routine returns TRUE if the watchdog timer is in the ACTIVE + * state, and FALSE otherwise. */ STATIC INLINE boolean _Watchdog_Is_active( @@ -55,6 +64,10 @@ STATIC INLINE boolean _Watchdog_Is_active( * * _Watchdog_Activate * + * DESCRIPTION: + * + * This routine activates THE_WATCHDOG timer which is already + * on a watchdog chain. */ STATIC INLINE void _Watchdog_Activate( @@ -70,6 +83,10 @@ STATIC INLINE void _Watchdog_Activate( * * _Watchdog_Deactivate * + * DESCRIPTION: + * + * This routine deactivates THE_WATCHDOG timer which will remain + * on a watchdog chain. */ STATIC INLINE void _Watchdog_Deactivate( @@ -85,6 +102,10 @@ STATIC INLINE void _Watchdog_Deactivate( * * _Watchdog_Tickle_ticks * + * DESCRIPTION: + * + * This routine is invoked at each clock tick to update the ticks + * watchdog chain. */ STATIC INLINE void _Watchdog_Tickle_ticks( void ) @@ -98,6 +119,10 @@ STATIC INLINE void _Watchdog_Tickle_ticks( void ) * * _Watchdog_Tickle_seconds * + * DESCRIPTION: + * + * This routine is invoked at each clock tick to update the seconds + * watchdog chain. */ STATIC INLINE void _Watchdog_Tickle_seconds( void ) @@ -111,6 +136,12 @@ STATIC INLINE void _Watchdog_Tickle_seconds( void ) * * _Watchdog_Insert_ticks * + * DESCRIPTION: + * + * This routine inserts THE_WATCHDOG into the ticks watchdog chain + * for a time of UNITS ticks. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ STATIC INLINE void _Watchdog_Insert_ticks( @@ -129,6 +160,12 @@ STATIC INLINE void _Watchdog_Insert_ticks( * * _Watchdog_Insert_seconds * + * DESCRIPTION: + * + * This routine inserts THE_WATCHDOG into the seconds watchdog chain + * for a time of UNITS seconds. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ STATIC INLINE void _Watchdog_Insert_seconds( @@ -147,6 +184,11 @@ STATIC INLINE void _Watchdog_Insert_seconds( * * _Watchdog_Adjust_seconds * + * DESCRIPTION: + * + * This routine adjusts the seconds watchdog chain in the forward + * or backward DIRECTION for UNITS seconds. This is invoked when the + * current time of day is changed. */ STATIC INLINE void _Watchdog_Adjust_seconds( @@ -163,6 +205,10 @@ STATIC INLINE void _Watchdog_Adjust_seconds( * * _Watchdog_Adjust_ticks * + * DESCRIPTION: + * + * This routine adjusts the ticks watchdog chain in the forward + * or backward DIRECTION for UNITS ticks. */ STATIC INLINE void _Watchdog_Adjust_ticks( @@ -179,6 +225,12 @@ STATIC INLINE void _Watchdog_Adjust_ticks( * * _Watchdog_Reset * + * DESCRIPTION: + * + * This routine resets THE_WATCHDOG timer to its state at INSERT + * time. This routine is valid only on interval watchdog timers + * and is used to make an interval watchdog timer fire "every" so + * many ticks. */ STATIC INLINE void _Watchdog_Reset( @@ -196,6 +248,10 @@ STATIC INLINE void _Watchdog_Reset( * * _Watchdog_Next * + * DESCRIPTION: + * + * This routine returns a pointer to the watchdog timer following + * THE_WATCHDOG on the watchdog chain. */ STATIC INLINE Watchdog_Control *_Watchdog_Next( @@ -211,6 +267,10 @@ STATIC INLINE Watchdog_Control *_Watchdog_Next( * * _Watchdog_Previous * + * DESCRIPTION: + * + * This routine returns a pointer to the watchdog timer preceding + * THE_WATCHDOG on the watchdog chain. */ STATIC INLINE Watchdog_Control *_Watchdog_Previous( @@ -226,6 +286,10 @@ STATIC INLINE Watchdog_Control *_Watchdog_Previous( * * _Watchdog_First * + * DESCRIPTION: + * + * This routine returns a pointer to the first watchdog timer + * on the watchdog chain HEADER. */ STATIC INLINE Watchdog_Control *_Watchdog_First( @@ -241,7 +305,12 @@ STATIC INLINE Watchdog_Control *_Watchdog_First( * * _Watchdog_Last * + * DESCRIPTION: + * + * This routine returns a pointer to the last watchdog timer + * on the watchdog chain HEADER. */ + STATIC INLINE Watchdog_Control *_Watchdog_Last( Chain_Control *header ) diff --git a/c/src/exec/score/inline/rtems/score/wkspace.inl b/c/src/exec/score/inline/rtems/score/wkspace.inl index 36ed61d565..a2dabfe962 100644 --- a/c/src/exec/score/inline/rtems/score/wkspace.inl +++ b/c/src/exec/score/inline/rtems/score/wkspace.inl @@ -21,6 +21,9 @@ * * _Workspace_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _Workspace_Handler_initialization( @@ -65,6 +68,11 @@ STATIC INLINE void _Workspace_Handler_initialization( * * _Workspace_Allocate * + * DESCRIPTION: + * + * This routine returns the address of a block of memory of size + * bytes. If a block of the appropriate size cannot be allocated + * from the workspace, then NULL is returned. */ STATIC INLINE void *_Workspace_Allocate( @@ -78,6 +86,11 @@ STATIC INLINE void *_Workspace_Allocate( * * _Workspace_Free * + * DESCRIPTION: + * + * This function frees the specified block of memory. If the block + * belongs to the Workspace and can be successfully freed, then + * TRUE is returned. Otherwise FALSE is returned. */ STATIC INLINE boolean _Workspace_Free( diff --git a/c/src/exec/score/inline/stack.inl b/c/src/exec/score/inline/stack.inl index 7c6acf7cb3..d29874a7dd 100644 --- a/c/src/exec/score/inline/stack.inl +++ b/c/src/exec/score/inline/stack.inl @@ -21,6 +21,11 @@ * * _Stack_Initialize * + * DESCRIPTION: + * + * This routine initializes the_stack record to indicate that + * size bytes of memory starting at starting_address have been + * reserved for a stack. */ STATIC INLINE void _Stack_Initialize ( @@ -37,6 +42,10 @@ STATIC INLINE void _Stack_Initialize ( * * _Stack_Is_enough * + * DESCRIPTION: + * + * This function returns TRUE if size bytes is enough memory for + * a valid stack area on this processor, and FALSE otherwise. */ STATIC INLINE boolean _Stack_Is_enough ( @@ -50,6 +59,15 @@ STATIC INLINE boolean _Stack_Is_enough ( * * _Stack_Adjust_size * + * DESCRIPTION: + * + * This function increases the stack size to insure that the thread + * has the desired amount of stack space after the initial stack + * pointer is determined based on alignment restrictions. + * + * NOTE: + * + * The amount of adjustment for alignment is CPU dependent. */ STATIC INLINE unsigned32 _Stack_Adjust_size ( diff --git a/c/src/exec/score/inline/states.inl b/c/src/exec/score/inline/states.inl index 23ee8cacbc..fad8ce727c 100644 --- a/c/src/exec/score/inline/states.inl +++ b/c/src/exec/score/inline/states.inl @@ -21,6 +21,10 @@ * * _States_Set * + * DESCRIPTION: + * + * This function sets the given states_to_set into the current_state + * passed in. The result is returned to the user in current_state. */ STATIC INLINE States_Control _States_Set ( @@ -35,6 +39,10 @@ STATIC INLINE States_Control _States_Set ( * * _States_Clear * + * DESCRIPTION: + * + * This function clears the given states_to_clear into the current_state + * passed in. The result is returned to the user in current_state. */ STATIC INLINE States_Control _States_Clear ( @@ -49,6 +57,10 @@ STATIC INLINE States_Control _States_Clear ( * * _States_Is_ready * + * DESCRIPTION: + * + * This function returns TRUE if the_states indicates that the + * state is READY, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_ready ( @@ -62,6 +74,10 @@ STATIC INLINE boolean _States_Is_ready ( * * _States_Is_only_dormant * + * DESCRIPTION: + * + * This function returns TRUE if the DORMANT state is the ONLY state + * set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_only_dormant ( @@ -75,6 +91,10 @@ STATIC INLINE boolean _States_Is_only_dormant ( * * _States_Is_dormant * + * DESCRIPTION: + * + * This function returns TRUE if the DORMANT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_dormant ( @@ -88,6 +108,10 @@ STATIC INLINE boolean _States_Is_dormant ( * * _States_Is_suspended * + * DESCRIPTION: + * + * This function returns TRUE if the SUSPENDED state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_suspended ( @@ -101,6 +125,10 @@ STATIC INLINE boolean _States_Is_suspended ( * * _States_Is_Transient * + * DESCRIPTION: + * + * This function returns TRUE if the TRANSIENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_transient ( @@ -114,6 +142,10 @@ STATIC INLINE boolean _States_Is_transient ( * * _States_Is_delaying * + * DESCRIPTION: + * + * This function returns TRUE if the DELAYING state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_delaying ( @@ -127,6 +159,10 @@ STATIC INLINE boolean _States_Is_delaying ( * * _States_Is_waiting_for_buffer * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_BUFFER state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_buffer ( @@ -140,6 +176,10 @@ STATIC INLINE boolean _States_Is_waiting_for_buffer ( * * _States_Is_waiting_for_segment * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_segment ( @@ -153,6 +193,10 @@ STATIC INLINE boolean _States_Is_waiting_for_segment ( * * _States_Is_waiting_for_message * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_message ( @@ -166,6 +210,10 @@ STATIC INLINE boolean _States_Is_waiting_for_message ( * * _States_Is_waiting_for_event * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_EVENT state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_event ( @@ -179,6 +227,10 @@ STATIC INLINE boolean _States_Is_waiting_for_event ( * * _States_Is_waiting_for_mutex * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_MUTEX state + * is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_mutex ( @@ -192,6 +244,10 @@ STATIC INLINE boolean _States_Is_waiting_for_mutex ( * * _States_Is_waiting_for_semaphore * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_SEMAPHORE state + * is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_semaphore ( @@ -205,6 +261,10 @@ STATIC INLINE boolean _States_Is_waiting_for_semaphore ( * * _States_Is_waiting_for_time * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_TIME state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_time ( @@ -218,6 +278,10 @@ STATIC INLINE boolean _States_Is_waiting_for_time ( * * _States_Is_waiting_for_rpc_reply * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_TIME state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( @@ -231,6 +295,10 @@ STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( * * _States_Is_waiting_for_period * + * DESCRIPTION: + * + * This function returns TRUE if the WAITING_FOR_PERIOD state is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_for_period ( @@ -244,6 +312,11 @@ STATIC INLINE boolean _States_Is_waiting_for_period ( * * _States_Is_locally_blocked * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_locally_blocked ( @@ -257,6 +330,11 @@ STATIC INLINE boolean _States_Is_locally_blocked ( * * _States_Is_waiting_on_thread_queue * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked waiting for a local resource is set in + * the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( @@ -270,6 +348,10 @@ STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( * * _States_Is_blocked * + * DESCRIPTION: + * + * This function returns TRUE if one of the states which indicates + * that a task is blocked is set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Is_blocked ( @@ -279,11 +361,15 @@ STATIC INLINE boolean _States_Is_blocked ( return (the_states & STATES_BLOCKED); } -/*PAGEPAGE +/*PAGE * * * _States_Are_set * + * DESCRIPTION: + * + * This function returns TRUE if any of the states in the mask + * are set in the_states, and FALSE otherwise. */ STATIC INLINE boolean _States_Are_set ( diff --git a/c/src/exec/score/inline/sysstate.inl b/c/src/exec/score/inline/sysstate.inl index 180e6abe54..08f8b9c513 100644 --- a/c/src/exec/score/inline/sysstate.inl +++ b/c/src/exec/score/inline/sysstate.inl @@ -20,6 +20,10 @@ /*PAGE * * _System_state_Handler_initialization + * + * DESCRIPTION: + * + * This routine initializes the system state handler. */ STATIC INLINE void _System_state_Handler_initialization ( @@ -33,6 +37,11 @@ STATIC INLINE void _System_state_Handler_initialization ( /*PAGE * * _System_state_Set + * + * DESCRIPTION: + * + * This routine sets the current system state to that specified by + * the called. */ STATIC INLINE void _System_state_Set ( @@ -45,6 +54,10 @@ STATIC INLINE void _System_state_Set ( /*PAGE * * _System_state_Get + * + * DESCRIPTION: + * + * This function returns the current system state. */ STATIC INLINE System_state_Codes _System_state_Get ( void ) @@ -55,6 +68,11 @@ STATIC INLINE System_state_Codes _System_state_Get ( void ) /*PAGE * * _System_state_Is_before_initialization + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "before initialization" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_before_initialization ( @@ -67,6 +85,11 @@ STATIC INLINE boolean _System_state_Is_before_initialization ( /*PAGE * * _System_state_Is_before_multitasking + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "before multitasking" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_before_multitasking ( @@ -79,6 +102,11 @@ STATIC INLINE boolean _System_state_Is_before_multitasking ( /*PAGE * * _System_state_Is_begin_multitasking + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "begin multitasking" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_begin_multitasking ( @@ -91,6 +119,11 @@ STATIC INLINE boolean _System_state_Is_begin_multitasking ( /*PAGE * * _System_state_Is_up + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "up" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_up ( @@ -103,6 +136,11 @@ STATIC INLINE boolean _System_state_Is_up ( /*PAGE * * _System_state_Is_failed + * + * DESCRIPTION: + * + * This function returns TRUE if the state is equal to the + * "failed" state, and FALSE otherwise. */ STATIC INLINE boolean _System_state_Is_failed ( diff --git a/c/src/exec/score/inline/thread.inl b/c/src/exec/score/inline/thread.inl index 265f51a8d0..53d5d41751 100644 --- a/c/src/exec/score/inline/thread.inl +++ b/c/src/exec/score/inline/thread.inl @@ -21,6 +21,11 @@ * * _Thread_Stop_multitasking * + * DESCRIPTION: + * + * This routine halts multitasking and returns control to + * the "thread" (i.e. the BSP) which initially invoked the + * routine which initialized the system. */ STATIC INLINE void _Thread_Stop_multitasking( void ) @@ -32,6 +37,10 @@ STATIC INLINE void _Thread_Stop_multitasking( void ) * * _Thread_Is_executing * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is the currently executing + * thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_executing ( @@ -45,6 +54,10 @@ STATIC INLINE boolean _Thread_Is_executing ( * * _Thread_Is_heir * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is the heir + * thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_heir ( @@ -58,6 +71,10 @@ STATIC INLINE boolean _Thread_Is_heir ( * * _Thread_Is_executing_also_the_heir * + * DESCRIPTION: + * + * This function returns TRUE if the currently executing thread + * is also the heir thread, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ) @@ -69,6 +86,11 @@ STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ) * * _Thread_Resume * + * DESCRIPTION: + * + * This routine clears the SUSPENDED state for the_thread. It performs + * any necessary scheduling operations including the selection of + * a new heir thread. */ STATIC INLINE void _Thread_Resume ( @@ -82,6 +104,11 @@ STATIC INLINE void _Thread_Resume ( * * _Thread_Unblock * + * DESCRIPTION: + * + * This routine clears any blocking state for the_thread. It performs + * any necessary scheduling operations including the selection of + * a new heir thread. */ STATIC INLINE void _Thread_Unblock ( @@ -95,6 +122,10 @@ STATIC INLINE void _Thread_Unblock ( * * _Thread_Restart_self * + * DESCRIPTION: + * + * This routine resets the current context of the calling thread + * to that of its initial state. */ STATIC INLINE void _Thread_Restart_self( void ) @@ -109,6 +140,10 @@ STATIC INLINE void _Thread_Restart_self( void ) * * _Thread_Calculate_heir * + * DESCRIPTION: + * + * This function returns a pointer to the highest priority + * ready thread. */ STATIC INLINE void _Thread_Calculate_heir( void ) @@ -121,6 +156,11 @@ STATIC INLINE void _Thread_Calculate_heir( void ) * * _Thread_Is_allocated_fp * + * DESCRIPTION: + * + * This function returns TRUE if the floating point context of + * the_thread is currently loaded in the floating point unit, and + * FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_allocated_fp ( @@ -134,6 +174,10 @@ STATIC INLINE boolean _Thread_Is_allocated_fp ( * * _Thread_Deallocate_fp * + * DESCRIPTION: + * + * This routine is invoked when the currently loaded floating + * point context is now longer associated with an active thread. */ STATIC INLINE void _Thread_Deallocate_fp( void ) @@ -145,6 +189,9 @@ STATIC INLINE void _Thread_Deallocate_fp( void ) * * _Thread_Disable_dispatch * + * DESCRIPTION: + * + * This routine prevents dispatching. */ STATIC INLINE void _Thread_Disable_dispatch( void ) @@ -156,6 +203,12 @@ STATIC INLINE void _Thread_Disable_dispatch( void ) * * _Thread_Enable_dispatch * + * DESCRIPTION: + * + * This routine allows dispatching to occur again. If this is + * the outer most dispatching critical section, then a dispatching + * operation will be performed and, if necessary, control of the + * processor will be transferred to the heir thread. */ #if ( CPU_INLINE_ENABLE_DISPATCH == TRUE ) @@ -174,6 +227,11 @@ void _Thread_Enable_dispatch( void ); * * _Thread_Unnest_dispatch * + * DESCRIPTION: + * + * This routine allows dispatching to occur again. However, + * no dispatching operation is performed even if this is the outer + * most dispatching critical section. */ STATIC INLINE void _Thread_Unnest_dispatch( void ) @@ -185,6 +243,10 @@ STATIC INLINE void _Thread_Unnest_dispatch( void ) * * _Thread_Is_dispatching_enabled * + * DESCRIPTION: + * + * This function returns TRUE if dispatching is disabled, and FALSE + * otherwise. */ STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ) @@ -196,6 +258,10 @@ STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ) * * _Thread_Is_context_switch_necessary * + * DESCRIPTION: + * + * This function returns TRUE if dispatching is disabled, and FALSE + * otherwise. */ STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ) @@ -207,6 +273,9 @@ STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ) * * _Thread_Dispatch_initialization * + * DESCRIPTION: + * + * This routine initializes the thread dispatching subsystem. */ STATIC INLINE void _Thread_Dispatch_initialization( void ) @@ -218,6 +287,9 @@ STATIC INLINE void _Thread_Dispatch_initialization( void ) * * _Thread_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_thread is NULL and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_null ( @@ -231,6 +303,17 @@ STATIC INLINE boolean _Thread_Is_null ( * * _Thread_Get * + * DESCRIPTION: + * + * This function maps thread IDs to thread control + * blocks. If ID corresponds to a local thread, then it + * returns the_thread control pointer which maps to ID + * and location is set to OBJECTS_LOCAL. If the thread ID is + * global and resides on a remote node, then location is set + * to OBJECTS_REMOTE, and the_thread is undefined. + * Otherwise, location is set to OBJECTS_ERROR and + * the_thread is undefined. + * * NOTE: XXX... This routine may be able to be optimized. */ @@ -274,6 +357,10 @@ done: /* * _Thread_Is_proxy_blocking * + * DESCRIPTION: + * + * This function returns TRUE if the status code is equal to the + * status which indicates that a proxy is blocking, and FALSE otherwise. */ STATIC INLINE boolean _Thread_Is_proxy_blocking ( @@ -287,6 +374,9 @@ STATIC INLINE boolean _Thread_Is_proxy_blocking ( * * _Thread_Internal_allocate * + * DESCRIPTION: + * + * This routine allocates an internal thread. */ STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ) @@ -298,6 +388,9 @@ STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ) * * _Thread_Internal_free * + * DESCRIPTION: + * + * This routine frees an internal thread. */ STATIC INLINE void _Thread_Internal_free ( diff --git a/c/src/exec/score/inline/threadmp.inl b/c/src/exec/score/inline/threadmp.inl index f4beba59ed..f16f64e48a 100644 --- a/c/src/exec/score/inline/threadmp.inl +++ b/c/src/exec/score/inline/threadmp.inl @@ -21,6 +21,10 @@ * * _Thread_MP_Is_receive * + * DESCRIPTION: + * + * This function returns true if the thread in question is the + * multiprocessing receive thread. */ STATIC INLINE boolean _Thread_MP_Is_receive ( @@ -34,6 +38,10 @@ STATIC INLINE boolean _Thread_MP_Is_receive ( * * _Thread_MP_Free_proxy * + * DESCRIPTION: + * + * This routine frees a proxy control block to the + * inactive chain of free proxy control blocks. */ STATIC INLINE void _Thread_MP_Free_proxy ( diff --git a/c/src/exec/score/inline/tod.inl b/c/src/exec/score/inline/tod.inl index dce8aca426..5ed1e76d8f 100644 --- a/c/src/exec/score/inline/tod.inl +++ b/c/src/exec/score/inline/tod.inl @@ -21,6 +21,10 @@ * * _TOD_Is_set * + * DESCRIPTION: + * + * This function returns TRUE if the application has set the current + * time of day, and FALSE otherwise. */ STATIC INLINE boolean _TOD_Is_set( void ) @@ -32,6 +36,10 @@ STATIC INLINE boolean _TOD_Is_set( void ) * * _TOD_Tickle_ticks * + * DESCRIPTION: + * + * This routine increments the ticks field of the current time of + * day at each clock tick. */ STATIC INLINE void _TOD_Tickle_ticks( void ) @@ -44,6 +52,9 @@ STATIC INLINE void _TOD_Tickle_ticks( void ) * * _TOD_Deactivate * + * DESCRIPTION: + * + * This routine deactivates updating of the current time of day. */ STATIC INLINE void _TOD_Deactivate( void ) @@ -55,6 +66,9 @@ STATIC INLINE void _TOD_Deactivate( void ) * * _TOD_Activate * + * DESCRIPTION: + * + * This routine activates updating of the current time of day. */ STATIC INLINE void _TOD_Activate( diff --git a/c/src/exec/score/inline/tqdata.inl b/c/src/exec/score/inline/tqdata.inl index b16b3a1ca1..c7d8630062 100644 --- a/c/src/exec/score/inline/tqdata.inl +++ b/c/src/exec/score/inline/tqdata.inl @@ -21,32 +21,44 @@ * * _Thread_queue_Header_number * + * DESCRIPTION: + * + * This function returns the index of the priority chain on which + * a thread of the_priority should be placed. */ STATIC INLINE unsigned32 _Thread_queue_Header_number ( Priority_Control the_priority ) { - return ( the_priority >> 6 ); + return (the_priority / TASK_QUEUE_DATA_PRIORITIES_PER_HEADER); } /*PAGE * * _Thread_queue_Is_reverse_search * + * DESCRIPTION: + * + * This function returns TRUE if the_priority indicates that the + * enqueue search should start at the front of this priority + * group chain, and FALSE if the search should start at the rear. */ STATIC INLINE boolean _Thread_queue_Is_reverse_search ( Priority_Control the_priority ) { - return ( the_priority & 0x20 ); + return ( the_priority & TASK_QUEUE_DATA_REVERSE_SEARCH_MASK ); } /*PAGE * * _Thread_queue_Get_number_waiting * + * DESCRIPTION: + * + * This function returns the number of threads waiting on this thread queue. */ STATIC INLINE unsigned32 _Thread_queue_Get_number_waiting ( @@ -60,6 +72,10 @@ STATIC INLINE unsigned32 _Thread_queue_Get_number_waiting ( * * _Thread_queue_Enter_critical_section * + * DESCRIPTION: + * + * This routine is invoked to indicate that the specified thread queue is + * entering a critical section. */ STATIC INLINE void _Thread_queue_Enter_critical_section ( diff --git a/c/src/exec/score/inline/userext.inl b/c/src/exec/score/inline/userext.inl index 2b4483c553..a9a858b2e2 100644 --- a/c/src/exec/score/inline/userext.inl +++ b/c/src/exec/score/inline/userext.inl @@ -21,6 +21,9 @@ * * _User_extensions_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _User_extensions_Handler_initialization ( @@ -38,6 +41,10 @@ STATIC INLINE void _User_extensions_Handler_initialization ( /*PAGE * * _User_extensions_Add_set + * + * DESCRIPTION: + * + * This routine is used to add a user extension set to the active list. */ STATIC INLINE void _User_extensions_Add_set ( @@ -53,6 +60,9 @@ STATIC INLINE void _User_extensions_Add_set ( /*PAGE * * _User_extensions_Add_API_set + * DESCRIPTION: + * + * This routine is used to add an API extension set to the active list. */ STATIC INLINE void _User_extensions_Add_API_set ( @@ -65,6 +75,10 @@ STATIC INLINE void _User_extensions_Add_API_set ( /*PAGE * * _User_extensions_Remove_set + * + * DESCRIPTION: + * + * This routine is used to remove a user extension set from the active list. */ STATIC INLINE void _User_extensions_Remove_set ( @@ -78,6 +92,10 @@ STATIC INLINE void _User_extensions_Remove_set ( * * _User_extensions_Thread_switch * + * DESCRIPTION: + * + * This routine is used to invoke the user extension which + * is invoked when a context switch occurs. */ STATIC INLINE void _User_extensions_Thread_switch ( diff --git a/c/src/exec/score/inline/watchdog.inl b/c/src/exec/score/inline/watchdog.inl index ae3717e102..75fb662dfc 100644 --- a/c/src/exec/score/inline/watchdog.inl +++ b/c/src/exec/score/inline/watchdog.inl @@ -21,6 +21,11 @@ * * _Watchdog_Initialize * + * DESCRIPTION: + * + * This routine initializes the specified watchdog. The watchdog is + * made inactive, the watchdog id and handler routine are set to the + * specified values. */ STATIC INLINE void _Watchdog_Initialize( @@ -40,6 +45,10 @@ STATIC INLINE void _Watchdog_Initialize( * * _Watchdog_Is_active * + * DESCRIPTION: + * + * This routine returns TRUE if the watchdog timer is in the ACTIVE + * state, and FALSE otherwise. */ STATIC INLINE boolean _Watchdog_Is_active( @@ -55,6 +64,10 @@ STATIC INLINE boolean _Watchdog_Is_active( * * _Watchdog_Activate * + * DESCRIPTION: + * + * This routine activates THE_WATCHDOG timer which is already + * on a watchdog chain. */ STATIC INLINE void _Watchdog_Activate( @@ -70,6 +83,10 @@ STATIC INLINE void _Watchdog_Activate( * * _Watchdog_Deactivate * + * DESCRIPTION: + * + * This routine deactivates THE_WATCHDOG timer which will remain + * on a watchdog chain. */ STATIC INLINE void _Watchdog_Deactivate( @@ -85,6 +102,10 @@ STATIC INLINE void _Watchdog_Deactivate( * * _Watchdog_Tickle_ticks * + * DESCRIPTION: + * + * This routine is invoked at each clock tick to update the ticks + * watchdog chain. */ STATIC INLINE void _Watchdog_Tickle_ticks( void ) @@ -98,6 +119,10 @@ STATIC INLINE void _Watchdog_Tickle_ticks( void ) * * _Watchdog_Tickle_seconds * + * DESCRIPTION: + * + * This routine is invoked at each clock tick to update the seconds + * watchdog chain. */ STATIC INLINE void _Watchdog_Tickle_seconds( void ) @@ -111,6 +136,12 @@ STATIC INLINE void _Watchdog_Tickle_seconds( void ) * * _Watchdog_Insert_ticks * + * DESCRIPTION: + * + * This routine inserts THE_WATCHDOG into the ticks watchdog chain + * for a time of UNITS ticks. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ STATIC INLINE void _Watchdog_Insert_ticks( @@ -129,6 +160,12 @@ STATIC INLINE void _Watchdog_Insert_ticks( * * _Watchdog_Insert_seconds * + * DESCRIPTION: + * + * This routine inserts THE_WATCHDOG into the seconds watchdog chain + * for a time of UNITS seconds. The INSERT_MODE indicates whether + * THE_WATCHDOG is to be activated automatically or later, explicitly + * by the caller. */ STATIC INLINE void _Watchdog_Insert_seconds( @@ -147,6 +184,11 @@ STATIC INLINE void _Watchdog_Insert_seconds( * * _Watchdog_Adjust_seconds * + * DESCRIPTION: + * + * This routine adjusts the seconds watchdog chain in the forward + * or backward DIRECTION for UNITS seconds. This is invoked when the + * current time of day is changed. */ STATIC INLINE void _Watchdog_Adjust_seconds( @@ -163,6 +205,10 @@ STATIC INLINE void _Watchdog_Adjust_seconds( * * _Watchdog_Adjust_ticks * + * DESCRIPTION: + * + * This routine adjusts the ticks watchdog chain in the forward + * or backward DIRECTION for UNITS ticks. */ STATIC INLINE void _Watchdog_Adjust_ticks( @@ -179,6 +225,12 @@ STATIC INLINE void _Watchdog_Adjust_ticks( * * _Watchdog_Reset * + * DESCRIPTION: + * + * This routine resets THE_WATCHDOG timer to its state at INSERT + * time. This routine is valid only on interval watchdog timers + * and is used to make an interval watchdog timer fire "every" so + * many ticks. */ STATIC INLINE void _Watchdog_Reset( @@ -196,6 +248,10 @@ STATIC INLINE void _Watchdog_Reset( * * _Watchdog_Next * + * DESCRIPTION: + * + * This routine returns a pointer to the watchdog timer following + * THE_WATCHDOG on the watchdog chain. */ STATIC INLINE Watchdog_Control *_Watchdog_Next( @@ -211,6 +267,10 @@ STATIC INLINE Watchdog_Control *_Watchdog_Next( * * _Watchdog_Previous * + * DESCRIPTION: + * + * This routine returns a pointer to the watchdog timer preceding + * THE_WATCHDOG on the watchdog chain. */ STATIC INLINE Watchdog_Control *_Watchdog_Previous( @@ -226,6 +286,10 @@ STATIC INLINE Watchdog_Control *_Watchdog_Previous( * * _Watchdog_First * + * DESCRIPTION: + * + * This routine returns a pointer to the first watchdog timer + * on the watchdog chain HEADER. */ STATIC INLINE Watchdog_Control *_Watchdog_First( @@ -241,7 +305,12 @@ STATIC INLINE Watchdog_Control *_Watchdog_First( * * _Watchdog_Last * + * DESCRIPTION: + * + * This routine returns a pointer to the last watchdog timer + * on the watchdog chain HEADER. */ + STATIC INLINE Watchdog_Control *_Watchdog_Last( Chain_Control *header ) diff --git a/c/src/exec/score/inline/wkspace.inl b/c/src/exec/score/inline/wkspace.inl index 36ed61d565..a2dabfe962 100644 --- a/c/src/exec/score/inline/wkspace.inl +++ b/c/src/exec/score/inline/wkspace.inl @@ -21,6 +21,9 @@ * * _Workspace_Handler_initialization * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this handler. */ STATIC INLINE void _Workspace_Handler_initialization( @@ -65,6 +68,11 @@ STATIC INLINE void _Workspace_Handler_initialization( * * _Workspace_Allocate * + * DESCRIPTION: + * + * This routine returns the address of a block of memory of size + * bytes. If a block of the appropriate size cannot be allocated + * from the workspace, then NULL is returned. */ STATIC INLINE void *_Workspace_Allocate( @@ -78,6 +86,11 @@ STATIC INLINE void *_Workspace_Allocate( * * _Workspace_Free * + * DESCRIPTION: + * + * This function frees the specified block of memory. If the block + * belongs to the Workspace and can be successfully freed, then + * TRUE is returned. Otherwise FALSE is returned. */ STATIC INLINE boolean _Workspace_Free( diff --git a/c/src/exec/score/macros/rtems/score/tqdata.inl b/c/src/exec/score/macros/rtems/score/tqdata.inl index df1508104c..5ffb79bcb1 100644 --- a/c/src/exec/score/macros/rtems/score/tqdata.inl +++ b/c/src/exec/score/macros/rtems/score/tqdata.inl @@ -24,7 +24,7 @@ */ #define _Thread_queue_Header_number( _the_priority ) \ - ( (_the_priority) >> 6 ) + ((_the_priority) / TASK_QUEUE_DATA_PRIORITIES_PER_HEADER) /*PAGE * @@ -33,7 +33,7 @@ */ #define _Thread_queue_Is_reverse_search( _the_priority ) \ - ( (_the_priority) & 0x20 ) + ( (_the_priority) & TASK_QUEUE_DATA_REVERSE_SEARCH_MASK ) /*PAGE * diff --git a/c/src/exec/score/macros/tqdata.inl b/c/src/exec/score/macros/tqdata.inl index df1508104c..5ffb79bcb1 100644 --- a/c/src/exec/score/macros/tqdata.inl +++ b/c/src/exec/score/macros/tqdata.inl @@ -24,7 +24,7 @@ */ #define _Thread_queue_Header_number( _the_priority ) \ - ( (_the_priority) >> 6 ) + ((_the_priority) / TASK_QUEUE_DATA_PRIORITIES_PER_HEADER) /*PAGE * @@ -33,7 +33,7 @@ */ #define _Thread_queue_Is_reverse_search( _the_priority ) \ - ( (_the_priority) & 0x20 ) + ( (_the_priority) & TASK_QUEUE_DATA_REVERSE_SEARCH_MASK ) /*PAGE * diff --git a/c/src/lib/libc/newlibc.c b/c/src/lib/libc/newlibc.c index 54c7ac048d..ddcb961015 100644 --- a/c/src/lib/libc/newlibc.c +++ b/c/src/lib/libc/newlibc.c @@ -39,6 +39,7 @@ * */ +#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ #include <rtems.h> #include <libcsupport.h> #include <stdlib.h> /* for free() */ diff --git a/cpukit/libcsupport/src/newlibc.c b/cpukit/libcsupport/src/newlibc.c index 54c7ac048d..ddcb961015 100644 --- a/cpukit/libcsupport/src/newlibc.c +++ b/cpukit/libcsupport/src/newlibc.c @@ -39,6 +39,7 @@ * */ +#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ #include <rtems.h> #include <libcsupport.h> #include <stdlib.h> /* for free() */ diff --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h index 97eec4b772..e8826079b9 100644 --- a/cpukit/rtems/include/rtems.h +++ b/cpukit/rtems/include/rtems.h @@ -23,6 +23,18 @@ extern "C" { #endif +/* + * Unless told otherwise, the RTEMS include files will hide some stuff + * from normal application code. Defining this crosses a boundary which + * is undesirable since it means your application is using RTEMS features + * which are not included in the formally defined and supported API. + * Define this at your own risk. + */ + +#ifndef __RTEMS_VIOLATE_KERNEL_VISIBILITY__ +#define __RTEMS_APPLICATION__ +#endif + #include <rtems/system.h> #include <rtems/rtems/status.h> #include <rtems/rtems/types.h> diff --git a/cpukit/rtems/include/rtems/rtems/asr.h b/cpukit/rtems/include/rtems/rtems/asr.h index 55eed78ec2..31758fc06b 100644 --- a/cpukit/rtems/include/rtems/rtems/asr.h +++ b/cpukit/rtems/include/rtems/rtems/asr.h @@ -100,75 +100,9 @@ typedef struct { #define RTEMS_SIGNAL_30 0x40000000 #define RTEMS_SIGNAL_31 0x80000000 -/* - * _ASR_Initialize - * - * DESCRIPTION: - * - * This routine initializes the given RTEMS_ASR information record. - */ - -STATIC INLINE void _ASR_Initialize ( - ASR_Information *information -); - -/* - * _ASR_Swap_signals - * - * DESCRIPTION: - * - * This routine atomically swaps the pending and posted signal - * sets. This is done when the thread alters its mode in such a - * way that the RTEMS_ASR disable/enable flag changes. - */ - -STATIC INLINE void _ASR_Swap_signals ( - ASR_Information *information -); - -/* - * _ASR_Is_null_handler - * - * DESCRIPTION: - * - * This function returns TRUE if the given asr_handler is NULL and - * FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Is_null_handler ( - rtems_asr_entry asr_handler -); - -/* - * _ASR_Are_signals_pending - * - * DESCRIPTION: - * - * This function returns TRUE if there are signals pending in the - * given RTEMS_ASR information record and FALSE otherwise. - */ - -STATIC INLINE boolean _ASR_Are_signals_pending ( - ASR_Information *information -); - -/* - * _ASR_Post_signals - * - * DESCRIPTION: - * - * This routine posts the given signals into the signal_set - * passed in. The result is returned to the user in signal_set. - * - * NOTE: This must be implemented as a macro. - */ - -STATIC INLINE void _ASR_Post_signals( - rtems_signal_set signals, - rtems_signal_set *signal_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/asr.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h index 2d34dfe380..8262a3a381 100644 --- a/cpukit/rtems/include/rtems/rtems/attr.h +++ b/cpukit/rtems/include/rtems/rtems/attr.h @@ -72,129 +72,9 @@ typedef unsigned32 rtems_attribute; #define _Attributes_Handler_initialization() -/* - * _Attributes_Set - * - * DESCRIPTION: - * - * This function sets the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Set ( - rtems_attribute new_attributes, - rtems_attribute attribute_set -); - -/* - * _Attributes_Clear - * - * DESCRIPTION: - * - * This function clears the requested new_attributes in the attribute_set - * passed in. The result is returned to the user. - */ - -STATIC INLINE rtems_attribute _Attributes_Clear ( - rtems_attribute attribute_set, - rtems_attribute mask -); - -/* - * _Attributes_Is_floating_point - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_floating_point( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_global - * - * DESCRIPTION: - * - * This function returns TRUE if the global object attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_global( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority( - rtems_attribute attribute_set -); - -#if 0 -/* - * _Attributes_Is_limit - * - * DESCRIPTION: - * - * This function returns TRUE if the limited attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_limit( - rtems_attribute attribute_set -); -#endif - -/* - * _Attributes_Is_binary_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the binary semaphore attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_binary_semaphore( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_inherit_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority inheritance attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_inherit_priority( - rtems_attribute attribute_set -); - -/* - * _Attributes_Is_priority_ceiling - * - * DESCRIPTION: - * - * This function returns TRUE if the priority ceiling attribute - * is enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _Attributes_Is_priority_ceiling( - rtems_attribute attribute_set -); - - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/attr.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h index 576a338187..fc580c1a8a 100644 --- a/cpukit/rtems/include/rtems/rtems/dpmem.h +++ b/cpukit/rtems/include/rtems/rtems/dpmem.h @@ -145,62 +145,9 @@ rtems_status_code rtems_port_internal_to_external( void **external ); -/* - * _Dual_ported_memory_Allocate - * - * DESCRIPTION: - * - * This routine allocates a port control block from the inactive chain - * of free port control blocks. - */ - -STATIC INLINE Dual_ported_memory_Control - *_Dual_ported_memory_Allocate ( void ); - -/* - * _Dual_ported_memory_Free - * - * DESCRIPTION: - * - * This routine frees a port control block to the inactive chain - * of free port control blocks. - */ - -STATIC INLINE void _Dual_ported_memory_Free ( - Dual_ported_memory_Control *the_port -); - -/* - * _Dual_ported_memory_Get - * - * DESCRIPTION: - * - * This function maps port IDs to port control blocks. If ID - * corresponds to a local port, then it returns the_port control - * pointer which maps to ID and location is set to OBJECTS_LOCAL. - * Global ports are not supported, thus if ID does not map to a - * local port, location is set to OBJECTS_ERROR and the_port is - * undefined. - */ - -STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Dual_ported_memory_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_port is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Dual_ported_memory_Is_null( - Dual_ported_memory_Control *the_port -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/dpmem.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h index 6ae6bcee5c..0add026e5c 100644 --- a/cpukit/rtems/include/rtems/rtems/event.h +++ b/cpukit/rtems/include/rtems/rtems/event.h @@ -55,16 +55,6 @@ typedef enum { } Event_Sync_states; /* - * _Event_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -STATIC INLINE void _Event_Manager_initialization( void ); - -/* * rtems_event_send * * DESCRIPTION: @@ -162,7 +152,9 @@ void _Event_Timeout ( EXTERN volatile Event_Sync_states _Event_Sync_state; #include <rtems/rtems/eventmp.h> +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/event.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/eventset.h b/cpukit/rtems/include/rtems/rtems/eventset.h index 770f607075..0f3e122e5f 100644 --- a/cpukit/rtems/include/rtems/rtems/eventset.h +++ b/cpukit/rtems/include/rtems/rtems/eventset.h @@ -77,62 +77,9 @@ typedef unsigned32 rtems_event_set; #define EVENT_SETS_NONE_PENDING 0 -/* - * _Event_sets_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if on events are posted in the event_set, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Event_sets_Is_empty( - rtems_event_set the_event_set -); - -/* - * _Event_sets_Post - * - * DESCRIPTION: - * - * This routine posts the given new_events into the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE void _Event_sets_Post( - rtems_event_set the_new_events, - rtems_event_set *the_event_set -); - -/* - * _Event_sets_Get - * - * DESCRIPTION: - * - * This function returns the events in event_condition which are - * set in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Get( - rtems_event_set the_event_set, - rtems_event_set the_event_condition -); - -/* - * _Event_sets_Clear - * - * DESCRIPTION: - * - * This function removes the events in mask from the event_set - * passed in. The result is returned to the user in event_set. - */ - -STATIC INLINE rtems_event_set _Event_sets_Clear( - rtems_event_set the_event_set, - rtems_event_set the_mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/eventset.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/message.h b/cpukit/rtems/include/rtems/rtems/message.h index 40b04ed21c..0469f8ddbf 100644 --- a/cpukit/rtems/include/rtems/rtems/message.h +++ b/cpukit/rtems/include/rtems/rtems/message.h @@ -262,19 +262,6 @@ rtems_status_code _Message_queue_Submit( ); /* - * _Message_queue_Is_null - * - * DESCRIPTION: - * - * This function places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE boolean _Message_queue_Is_null ( - Message_queue_Control *the_message_queue -); - -/* * _Message_queue_Allocate * * DESCRIPTION: @@ -289,39 +276,6 @@ Message_queue_Control *_Message_queue_Allocate ( ); /* - * _Message_queue_Free - * - * DESCRIPTION: - * - * This routine deallocates a message queue control block into - * the inactive chain of free message queue control blocks. - */ - -STATIC INLINE void _Message_queue_Free ( - Message_queue_Control *the_message_queue -); - -/* - * _Message_queue_Get - * - * DESCRIPTION: - * - * This function maps message queue IDs to message queue control - * blocks. If ID corresponds to a local message queue, then it - * returns the_message_queue control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the message queue ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_message_queue is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_message_queue is undefined. - */ - -STATIC INLINE Message_queue_Control *_Message_queue_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Message_queue_Translate_core_message_queue_return_code * * DESCRIPTION: @@ -350,7 +304,9 @@ void _Message_queue_Core_message_queue_mp_support ( Objects_Id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/message.inl> +#endif #include <rtems/rtems/msgmp.h> #ifdef __cplusplus diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h index bf60aacf1f..34a23c7b20 100644 --- a/cpukit/rtems/include/rtems/rtems/modes.h +++ b/cpukit/rtems/include/rtems/rtems/modes.h @@ -59,7 +59,8 @@ typedef unsigned32 Modes_Control; * RTEMS supports 0 to 256 levels in bits 0-7 of the mode. */ -/* +/*PAGE + * * RTEMS_INTERRUPT_LEVEL * * DESCRIPTION: @@ -72,108 +73,13 @@ typedef unsigned32 Modes_Control; * particular CPU, fewer than 256 levels may be supported. */ -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -); - -/* - * _Modes_Mask_changed - * - * DESCRIPTION: - * - * This function returns TRUE if any of the mode flags in mask - * are set in mode_set, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Mask_changed ( - Modes_Control mode_set, - Modes_Control masks -); - -/* - * _Modes_Is_asr_disabled - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that Asynchronous - * Signal Processing is disabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_asr_disabled ( - Modes_Control mode_set -); - -/* - * _Modes_Is_preempt - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that preemption - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_preempt ( - Modes_Control mode_set -); - -/* - * _Modes_Is_timeslice - * - * DESCRIPTION: - * - * This function returns TRUE if mode_set indicates that timeslicing - * is enabled, and FALSE otherwise. - */ - -STATIC INLINE boolean _Modes_Is_timeslice ( - Modes_Control mode_set -); - -/* - * _Modes_Get_interrupt_level - * - * DESCRIPTION: - * - * This function returns the interrupt level portion of the mode_set. - */ - -STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Set_interrupt_level - * - * DESCRIPTION: - * - * This routine sets the current interrupt level to that specified - * in the mode_set. - */ - -STATIC INLINE void _Modes_Set_interrupt_level ( - Modes_Control mode_set -); - -/* - * _Modes_Change - * - * DESCRIPTION: - * - * This routine changes the modes in old_mode_set indicated by - * mask to the requested values in new_mode_set. The resulting - * mode set is returned in out_mode_set and the modes that changed - * is returned in changed. - */ - -STATIC INLINE void _Modes_Change ( - Modes_Control old_mode_set, - Modes_Control new_mode_set, - Modes_Control mask, - Modes_Control *out_mode_set, - Modes_Control *changed -); +#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ + ( (_mode_set) & RTEMS_INTERRUPT_MASK ) + +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/modes.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/options.h b/cpukit/rtems/include/rtems/rtems/options.h index d8da2f9e86..069d7721b3 100644 --- a/cpukit/rtems/include/rtems/rtems/options.h +++ b/cpukit/rtems/include/rtems/rtems/options.h @@ -41,35 +41,9 @@ typedef unsigned32 rtems_option; #define RTEMS_EVENT_ALL 0x00000000 /* wait for all events */ #define RTEMS_EVENT_ANY 0x00000002 /* wait on any event */ -/* - * _Options_Is_no_wait - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in - * option_set, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_no_wait ( - rtems_option option_set -); - -/* - * _Options_Is_any - * - * DESCRIPTION: - * - * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in - * OPTION_SET, and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Options_Is_any ( - rtems_option option_set -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/options.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/part.h b/cpukit/rtems/include/rtems/rtems/part.h index 95a7ce692e..e06a2e4b86 100644 --- a/cpukit/rtems/include/rtems/rtems/part.h +++ b/cpukit/rtems/include/rtems/rtems/part.h @@ -155,132 +155,9 @@ rtems_status_code rtems_partition_return_buffer( void *buffer ); -/* - * _Partition_Allocate_buffer - * - * DESCRIPTION: - * - * This function attempts to allocate a buffer from the_partition. - * If successful, it returns the address of the allocated buffer. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Partition_Allocate_buffer ( - Partition_Control *the_partition -); - -/* - * _Partition_Free_buffer - * - * DESCRIPTION: - * - * This routine frees the_buffer to the_partition. - */ - -STATIC INLINE void _Partition_Free_buffer ( - Partition_Control *the_partition, - Chain_Node *the_buffer -); - -/* - * _Partition_Is_buffer_on_boundary - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is on a valid buffer - * boundary for the_partition, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( - void *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_buffer is a valid buffer from - * the_partition, otherwise FALSE is returned. - */ - -STATIC INLINE boolean _Partition_Is_buffer_valid ( - Chain_Node *the_buffer, - Partition_Control *the_partition -); - -/* - * _Partition_Is_buffer_size_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the use of the specified buffer_size - * will result in the allocation of buffers whose first byte is - * properly aligned, and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( - unsigned32 buffer_size -); - -/* - * _Partition_Allocate - * - * DESCRIPTION: - * - * This function allocates a partition control block from - * the inactive chain of free partition control blocks. - */ - -STATIC INLINE Partition_Control *_Partition_Allocate ( void ); - -/* - * _Partition_Free - * - * DESCRIPTION: - * - * This routine frees a partition control block to the - * inactive chain of free partition control blocks. - */ - -STATIC INLINE void _Partition_Free ( - Partition_Control *the_partition -); - -/* - * _Partition_Get - * - * DESCRIPTION: - * - * This function maps partition IDs to partition control blocks. - * If ID corresponds to a local partition, then it returns - * the_partition control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. If the partition ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_partition is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_partition is undefined. - */ - -STATIC INLINE Partition_Control *_Partition_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Partition_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_partition is NULL - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Partition_Is_null ( - Partition_Control *the_partition -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/part.inl> +#endif #include <rtems/rtems/partmp.h> #ifdef __cplusplus diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h index 3c6c6695ca..a85bbcdc09 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemon.h +++ b/cpukit/rtems/include/rtems/rtems/ratemon.h @@ -156,47 +156,6 @@ rtems_status_code rtems_rate_monotonic_period( ); /* - * _Rate_monotonic_Allocate - * - * DESCRIPTION: - * - * This function allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ); - -/* - * _Rate_monotonic_Free - * - * DESCRIPTION: - * - * This routine allocates a period control block from - * the inactive chain of free period control blocks. - */ - -STATIC INLINE void _Rate_monotonic_Free ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Get - * - * DESCRIPTION: - * - * This function maps period IDs to period control blocks. - * If ID corresponds to a local period, then it returns - * the_period control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_period is undefined. - */ - -STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* * _Rate_monotonic_Timeout * * DESCRIPTION: @@ -214,58 +173,9 @@ void _Rate_monotonic_Timeout ( void *ignored ); -/* - * _Rate_monotonic_Is_active - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_active ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_inactive - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the ACTIVE state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_inactive ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_expired - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is in the EXPIRED state, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_expired ( - Rate_monotonic_Control *the_period -); - -/* - * _Rate_monotonic_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_period is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Rate_monotonic_Is_null ( - Rate_monotonic_Control *the_period -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/ratemon.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h index 054698caa3..7ee2658cd2 100644 --- a/cpukit/rtems/include/rtems/rtems/region.h +++ b/cpukit/rtems/include/rtems/rtems/region.h @@ -198,88 +198,9 @@ rtems_status_code rtems_region_return_segment( void *segment ); -/* - * _Region_Allocate - * - * DESCRIPTION: - * - * This function allocates a region control block from - * the inactive chain of free region control blocks. - */ - -STATIC INLINE Region_Control *_Region_Allocate( void ); - -/* - * _Region_Free - * - * DESCRIPTION: - * - * This routine frees a region control block to the - * inactive chain of free region control blocks. - */ - -STATIC INLINE void _Region_Free ( - Region_Control *the_region -); - -/* - * _Region_Get - * - * DESCRIPTION: - * - * This function maps region IDs to region control blocks. - * If ID corresponds to a local region, then it returns - * the_region control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the_region is undefined. - */ - -STATIC INLINE Region_Control *_Region_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Region_Allocate_segment - * - * DESCRIPTION: - * - * This function attempts to allocate a segment from the_region. - * If successful, it returns the address of the allocated segment. - * Otherwise, it returns NULL. - */ - -STATIC INLINE void *_Region_Allocate_segment ( - Region_Control *the_region, - unsigned32 size -); - -/* - * _Region_Free_segment - * - * DESCRIPTION: - * - * This function frees the_segment to the_region. - */ - -STATIC INLINE boolean _Region_Free_segment ( - Region_Control *the_region, - void *the_segment -); - -/* - * _Region_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_region is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Region_Is_null ( - Region_Control *the_region -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/region.inl> +#endif #include <rtems/rtems/regionmp.h> /* diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index e9760ac4e1..c4f8574b17 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -178,61 +178,6 @@ boolean _Semaphore_Seize( ); /* - * _Semaphore_Allocate - * - * DESCRIPTION: - * - * This function allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ); - -/* - * _Semaphore_Free - * - * DESCRIPTION: - * - * This routine frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - */ - -STATIC INLINE void _Semaphore_Free ( - Semaphore_Control *the_semaphore -); - -/* - * _Semaphore_Get - * - * DESCRIPTION: - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ - -STATIC INLINE Semaphore_Control *_Semaphore_Get ( - rtems_id id, - Objects_Locations *location -); - -/* - * _Semaphore_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Semaphore_Is_null ( - Semaphore_Control *the_semaphore -); - -/* * _Semaphore_Translate_core_mutex_return_code * * DESCRIPTION: @@ -290,7 +235,9 @@ void _Semaphore_Core_semaphore_mp_support ( rtems_id id ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/sem.inl> +#endif #include <rtems/rtems/semmp.h> #ifdef __cplusplus diff --git a/cpukit/rtems/include/rtems/rtems/status.h b/cpukit/rtems/include/rtems/rtems/status.h index 1c00d47bbf..23c1c830c6 100644 --- a/cpukit/rtems/include/rtems/rtems/status.h +++ b/cpukit/rtems/include/rtems/rtems/status.h @@ -69,32 +69,9 @@ rtems_status_code _Status_Object_name_errors_to_status[] = { #endif /* - * rtems_is_status_successful - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, - * and FALSE otherwise. + * Applications are allowed to use the macros to compare status codes. */ -STATIC INLINE boolean rtems_is_status_successful ( - rtems_status_code code -); - -/* - * rtems_are_statuses_equal - * - * DESCRIPTION: - * - * This function returns TRUE if the status code1 is equal to code2, - * and FALSE otherwise. - */ - -STATIC INLINE boolean rtems_are_statuses_equal ( - rtems_status_code code1, - rtems_status_code code2 -); - #include <rtems/rtems/status.inl> #ifdef __cplusplus diff --git a/cpukit/rtems/include/rtems/rtems/support.h b/cpukit/rtems/include/rtems/rtems/support.h index 3cf7eb6840..f4b26d6a61 100644 --- a/cpukit/rtems/include/rtems/rtems/support.h +++ b/cpukit/rtems/include/rtems/rtems/support.h @@ -24,18 +24,6 @@ extern "C" { #include <rtems/rtems/types.h> /* - * rtems_is_name_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the name is valid, and FALSE otherwise. - */ - -STATIC INLINE rtems_boolean rtems_is_name_valid ( - rtems_name name -); - -/* * rtems_build_name * * DESCRIPTION: @@ -53,24 +41,6 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( ( (_C1) << 24 | (_C2) << 16 | (_C3) << 8 | (_C4) ) /* - * rtems_name_to_characters - * - * DESCRIPTION: - * - * This function breaks the object name into the four component - * characters C1, C2, C3, and C4. - * - */ - -STATIC INLINE void rtems_name_to_characters( - rtems_name name, - char *c1, - char *c2, - char *c3, - char *c4 -); - -/* * rtems_get_class * * DESCRIPTION: diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h index 2c75cb3824..b86d85a562 100644 --- a/cpukit/rtems/include/rtems/rtems/tasks.h +++ b/cpukit/rtems/include/rtems/rtems/tasks.h @@ -392,43 +392,6 @@ rtems_status_code rtems_task_wake_after( rtems_interval ticks ); -/* - * _RTEMS_tasks_Allocate - * - * DESCRIPTION: - * - * This function allocates a task control block from - * the inactive chain of free task control blocks. - */ - -STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ); - -/* - * _RTEMS_tasks_Free - * - * DESCRIPTION: - * - * This routine frees a task control block to the - * inactive chain of free task control blocks. - - */ - -STATIC INLINE void _RTEMS_tasks_Free ( - Thread_Control *the_task -); - -/* - * _RTEMS_tasks_Priority_to_Core - * - * DESCRIPTION: - * - * This function converts an RTEMS API priority into a core priority. - */ - -STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( - rtems_task_priority priority -); - /*PAGE * * _RTEMS_tasks_Initialize_user_tasks @@ -443,17 +406,9 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( void _RTEMS_tasks_Initialize_user_tasks( void ); -/*PAGE - * - * _RTEMS_tasks_Priority_is_valid - * - */ - -STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( - rtems_task_priority the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/tasks.inl> +#endif #include <rtems/rtems/taskmp.h> #ifdef __cplusplus diff --git a/cpukit/rtems/include/rtems/rtems/timer.h b/cpukit/rtems/include/rtems/rtems/timer.h index d55d43df10..d09b80d5ff 100644 --- a/cpukit/rtems/include/rtems/rtems/timer.h +++ b/cpukit/rtems/include/rtems/rtems/timer.h @@ -195,99 +195,9 @@ rtems_status_code rtems_timer_reset( Objects_Id id ); -/* - * _Timer_Allocate - * - * DESCRIPTION: - * - * This function allocates a timer control block from - * the inactive chain of free timer control blocks. - */ - -STATIC INLINE Timer_Control *_Timer_Allocate( void ); - -/* - * _Timer_Free - * - * DESCRIPTION: - * - * This routine frees a timer control block to the - * inactive chain of free timer control blocks. - */ - -STATIC INLINE void _Timer_Free ( - Timer_Control *the_timer -); - -/* - * _Timer_Get - * - * DESCRIPTION: - * - * This function maps timer IDs to timer control blocks. - * If ID corresponds to a local timer, then it returns - * the timer control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Timer_Control *_Timer_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Timer_Is_interval_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_interval_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_time_of_day_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of an INTERVAL - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_timer_of_day_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_dormant_class - * - * DESCRIPTION: - * - * This function returns TRUE if the class is that of a DORMANT - * timer, and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_dormant_class ( - Timer_Classes the_class -); - -/* - * _Timer_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_timer is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Timer_Is_null ( - Timer_Control *the_timer -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/rtems/timer.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/rtems/inline/rtems/rtems/asr.inl b/cpukit/rtems/inline/rtems/rtems/asr.inl index 611ac930db..fc52778875 100644 --- a/cpukit/rtems/inline/rtems/rtems/asr.inl +++ b/cpukit/rtems/inline/rtems/rtems/asr.inl @@ -23,6 +23,9 @@ * * _ASR_Initialize * + * DESCRIPTION: + * + * This routine initializes the given RTEMS_ASR information record. */ STATIC INLINE void _ASR_Initialize ( @@ -41,6 +44,11 @@ STATIC INLINE void _ASR_Initialize ( * * _ASR_Swap_signals * + * DESCRIPTION: + * + * This routine atomically swaps the pending and posted signal + * sets. This is done when the thread alters its mode in such a + * way that the RTEMS_ASR disable/enable flag changes. */ STATIC INLINE void _ASR_Swap_signals ( @@ -61,6 +69,10 @@ STATIC INLINE void _ASR_Swap_signals ( * * _ASR_Is_null_handler * + * DESCRIPTION: + * + * This function returns TRUE if the given asr_handler is NULL and + * FALSE otherwise. */ STATIC INLINE boolean _ASR_Is_null_handler ( @@ -74,6 +86,10 @@ STATIC INLINE boolean _ASR_Is_null_handler ( * * _ASR_Are_signals_pending * + * DESCRIPTION: + * + * This function returns TRUE if there are signals pending in the + * given RTEMS_ASR information record and FALSE otherwise. */ STATIC INLINE boolean _ASR_Are_signals_pending ( @@ -87,6 +103,12 @@ STATIC INLINE boolean _ASR_Are_signals_pending ( * * _ASR_Post_signals * + * DESCRIPTION: + * + * This routine posts the given signals into the signal_set + * passed in. The result is returned to the user in signal_set. + * + * NOTE: This must be implemented as a macro. */ STATIC INLINE void _ASR_Post_signals( diff --git a/cpukit/rtems/inline/rtems/rtems/attr.inl b/cpukit/rtems/inline/rtems/rtems/attr.inl index 0f1190fe93..53c613382f 100644 --- a/cpukit/rtems/inline/rtems/rtems/attr.inl +++ b/cpukit/rtems/inline/rtems/rtems/attr.inl @@ -20,6 +20,11 @@ /*PAGE * * _Attributes_Set + * + * DESCRIPTION: + * + * This function sets the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Set ( @@ -33,6 +38,11 @@ STATIC INLINE rtems_attribute _Attributes_Set ( /*PAGE * * _Attributes_Clear + * + * DESCRIPTION: + * + * This function clears the requested new_attributes in the attribute_set + * passed in. The result is returned to the user. */ STATIC INLINE rtems_attribute _Attributes_Clear ( @@ -47,6 +57,10 @@ STATIC INLINE rtems_attribute _Attributes_Clear ( * * _Attributes_Is_floating_point * + * DESCRIPTION: + * + * This function returns TRUE if the floating point attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_floating_point( @@ -60,6 +74,10 @@ STATIC INLINE boolean _Attributes_Is_floating_point( * * _Attributes_Is_global * + * DESCRIPTION: + * + * This function returns TRUE if the global object attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_global( @@ -73,6 +91,10 @@ STATIC INLINE boolean _Attributes_Is_global( * * _Attributes_Is_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority( @@ -86,6 +108,10 @@ STATIC INLINE boolean _Attributes_Is_priority( * * _Attributes_Is_binary_semaphore * + * DESCRIPTION: + * + * This function returns TRUE if the binary semaphore attribute is + * enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_binary_semaphore( @@ -99,6 +125,10 @@ STATIC INLINE boolean _Attributes_Is_binary_semaphore( * * _Attributes_Is_inherit_priority * + * DESCRIPTION: + * + * This function returns TRUE if the priority inheritance attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_inherit_priority( @@ -112,6 +142,10 @@ STATIC INLINE boolean _Attributes_Is_inherit_priority( * * _Attributes_Is_priority_ceiling * + * DESCRIPTION: + * + * This function returns TRUE if the priority ceiling attribute + * is enabled in the attribute_set and FALSE otherwise. */ STATIC INLINE boolean _Attributes_Is_priority_ceiling( diff --git a/cpukit/rtems/inline/rtems/rtems/dpmem.inl b/cpukit/rtems/inline/rtems/rtems/dpmem.inl index 829ec5ab07..4bd13bcd80 100644 --- a/cpukit/rtems/inline/rtems/rtems/dpmem.inl +++ b/cpukit/rtems/inline/rtems/rtems/dpmem.inl @@ -22,6 +22,10 @@ * * _Dual_ported_memory_Allocate * + * DESCRIPTION: + * + * This routine allocates a port control block from the inactive chain + * of free port control blocks. */ STATIC INLINE Dual_ported_memory_Control @@ -35,6 +39,10 @@ STATIC INLINE Dual_ported_memory_Control * * _Dual_ported_memory_Free * + * DESCRIPTION: + * + * This routine frees a port control block to the inactive chain + * of free port control blocks. */ STATIC INLINE void _Dual_ported_memory_Free ( @@ -48,6 +56,14 @@ STATIC INLINE void _Dual_ported_memory_Free ( * * _Dual_ported_memory_Get * + * DESCRIPTION: + * + * This function maps port IDs to port control blocks. If ID + * corresponds to a local port, then it returns the_port control + * pointer which maps to ID and location is set to OBJECTS_LOCAL. + * Global ports are not supported, thus if ID does not map to a + * local port, location is set to OBJECTS_ERROR and the_port is + * undefined. */ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( @@ -62,6 +78,10 @@ STATIC INLINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( /*PAGE * * _Dual_ported_memory_Is_null + * + * DESCRIPTION: + * + * This function returns TRUE if the_port is NULL and FALSE otherwise. */ STATIC INLINE boolean _Dual_ported_memory_Is_null( diff --git a/cpukit/rtems/inline/rtems/rtems/event.inl b/cpukit/rtems/inline/rtems/rtems/event.inl index 0e2a1691ed..27d66c9ab0 100644 --- a/cpukit/rtems/inline/rtems/rtems/event.inl +++ b/cpukit/rtems/inline/rtems/rtems/event.inl @@ -19,6 +19,10 @@ /* * Event_Manager_initialization + * + * DESCRIPTION: + * + * This routine performs the initialization necessary for this manager. */ STATIC INLINE void _Event_Manager_initialization( void ) diff --git a/cpukit/rtems/inline/rtems/rtems/eventset.inl b/cpukit/rtems/inline/rtems/rtems/eventset.inl index b38c61de1a..ec0789b207 100644 --- a/cpukit/rtems/inline/rtems/rtems/eventset.inl +++ b/cpukit/rtems/inline/rtems/rtems/eventset.inl @@ -19,6 +19,11 @@ /*PAGE * * _Event_sets_Is_empty + * + * DESCRIPTION: + * + * This function returns TRUE if on events are posted in the event_set, + * and FALSE otherwise. */ STATIC INLINE boolean _Event_sets_Is_empty( @@ -31,6 +36,11 @@ STATIC INLINE boolean _Event_sets_Is_empty( /*PAGE * * _Event_sets_Post + * + * DESCRIPTION: + * + * This routine posts the given new_events into the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE void _Event_sets_Post( @@ -44,6 +54,11 @@ STATIC INLINE void _Event_sets_Post( /*PAGE * * _Event_sets_Get + * + * DESCRIPTION: + * + * This function returns the events in event_condition which are + * set in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Get( @@ -57,6 +72,11 @@ STATIC INLINE rtems_event_set _Event_sets_Get( /*PAGE * * _Event_sets_Clear + * + * DESCRIPTION: + * + * This function removes the events in mask from the event_set + * passed in. The result is returned to the user in event_set. */ STATIC INLINE rtems_event_set _Event_sets_Clear( diff --git a/cpukit/rtems/inline/rtems/rtems/message.inl b/cpukit/rtems/inline/rtems/rtems/message.inl index 673dce92a5..c34ad5082a 100644 --- a/cpukit/rtems/inline/rtems/rtems/message.inl +++ b/cpukit/rtems/inline/rtems/rtems/message.inl @@ -23,6 +23,10 @@ * * _Message_queue_Is_null * + * DESCRIPTION: + * + * This function places the_message at the rear of the outstanding + * messages on the_message_queue. */ STATIC INLINE boolean _Message_queue_Is_null ( @@ -37,6 +41,10 @@ STATIC INLINE boolean _Message_queue_Is_null ( * * _Message_queue_Free * + * DESCRIPTION: + * + * This routine deallocates a message queue control block into + * the inactive chain of free message queue control blocks. */ STATIC INLINE void _Message_queue_Free ( @@ -50,6 +58,16 @@ STATIC INLINE void _Message_queue_Free ( * * _Message_queue_Get * + * DESCRIPTION: + * + * This function maps message queue IDs to message queue control + * blocks. If ID corresponds to a local message queue, then it + * returns the_message_queue control pointer which maps to ID + * and location is set to OBJECTS_LOCAL. If the message queue ID is + * global and resides on a remote node, then location is set + * to OBJECTS_REMOTE, and the_message_queue is undefined. + * Otherwise, location is set to OBJECTS_ERROR and + * the_message_queue is undefined. */ STATIC INLINE Message_queue_Control *_Message_queue_Get ( diff --git a/cpukit/rtems/inline/rtems/rtems/modes.inl b/cpukit/rtems/inline/rtems/rtems/modes.inl index 6d4b6d06d0..803febd49a 100644 --- a/cpukit/rtems/inline/rtems/rtems/modes.inl +++ b/cpukit/rtems/inline/rtems/rtems/modes.inl @@ -19,20 +19,12 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -STATIC INLINE unsigned32 RTEMS_INTERRUPT_LEVEL ( - Modes_Control mode_set -) -{ - return mode_set & RTEMS_INTERRUPT_MASK; -} - -/*PAGE - * * _Modes_Mask_changed * + * DESCRIPTION: + * + * This function returns TRUE if any of the mode flags in mask + * are set in mode_set, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Mask_changed ( @@ -47,6 +39,10 @@ STATIC INLINE boolean _Modes_Mask_changed ( * * _Modes_Is_asr_disabled * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that Asynchronous + * Signal Processing is disabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_asr_disabled ( @@ -60,6 +56,10 @@ STATIC INLINE boolean _Modes_Is_asr_disabled ( * * _Modes_Is_preempt * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that preemption + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_preempt ( @@ -73,6 +73,10 @@ STATIC INLINE boolean _Modes_Is_preempt ( * * _Modes_Is_timeslice * + * DESCRIPTION: + * + * This function returns TRUE if mode_set indicates that timeslicing + * is enabled, and FALSE otherwise. */ STATIC INLINE boolean _Modes_Is_timeslice ( @@ -86,6 +90,9 @@ STATIC INLINE boolean _Modes_Is_timeslice ( * * _Modes_Get_interrupt_level * + * DESCRIPTION: + * + * This function returns the interrupt level portion of the mode_set. */ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( @@ -99,6 +106,10 @@ STATIC INLINE ISR_Level _Modes_Get_interrupt_level ( * * _Modes_Set_interrupt_level * + * DESCRIPTION: + * + * This routine sets the current interrupt level to that specified + * in the mode_set. */ STATIC INLINE void _Modes_Set_interrupt_level ( @@ -112,6 +123,12 @@ STATIC INLINE void _Modes_Set_interrupt_level ( * * _Modes_Change * + * DESCRIPTION: + * + * This routine changes the modes in old_mode_set indicated by + * mask to the requested values in new_mode_set. The resulting + * mode set is returned in out_mode_set and the modes that changed + * is returned in changed. */ STATIC INLINE void _Modes_Change ( diff --git a/cpukit/rtems/inline/rtems/rtems/options.inl b/cpukit/rtems/inline/rtems/rtems/options.inl index b3c7312010..9dba30e895 100644 --- a/cpukit/rtems/inline/rtems/rtems/options.inl +++ b/cpukit/rtems/inline/rtems/rtems/options.inl @@ -21,6 +21,10 @@ * * _Options_Is_no_wait * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in + * option_set, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_no_wait ( @@ -34,6 +38,10 @@ STATIC INLINE boolean _Options_Is_no_wait ( * * _Options_Is_any * + * DESCRIPTION: + * + * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in + * OPTION_SET, and FALSE otherwise. */ STATIC INLINE boolean _Options_Is_any ( diff --git a/cpukit/rtems/inline/rtems/rtems/part.inl b/cpukit/rtems/inline/rtems/rtems/part.inl index 78f86dcefc..9088755aa7 100644 --- a/cpukit/rtems/inline/rtems/rtems/part.inl +++ b/cpukit/rtems/inline/rtems/rtems/part.inl @@ -21,6 +21,11 @@ * * _Partition_Allocate_buffer * + * DESCRIPTION: + * + * This function attempts to allocate a buffer from the_partition. + * If successful, it returns the address of the allocated buffer. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Partition_Allocate_buffer ( @@ -34,6 +39,9 @@ STATIC INLINE void *_Partition_Allocate_buffer ( * * _Partition_Free_buffer * + * DESCRIPTION: + * + * This routine frees the_buffer to the_partition. */ STATIC INLINE void _Partition_Free_buffer ( @@ -48,6 +56,10 @@ STATIC INLINE void _Partition_Free_buffer ( * * _Partition_Is_buffer_on_boundary * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is on a valid buffer + * boundary for the_partition, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( @@ -69,6 +81,10 @@ STATIC INLINE boolean _Partition_Is_buffer_on_boundary ( * * _Partition_Is_buffer_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_buffer is a valid buffer from + * the_partition, otherwise FALSE is returned. */ STATIC INLINE boolean _Partition_Is_buffer_valid ( @@ -92,6 +108,11 @@ STATIC INLINE boolean _Partition_Is_buffer_valid ( * * _Partition_Is_buffer_size_aligned * + * DESCRIPTION: + * + * This function returns TRUE if the use of the specified buffer_size + * will result in the allocation of buffers whose first byte is + * properly aligned, and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( @@ -105,6 +126,10 @@ STATIC INLINE boolean _Partition_Is_buffer_size_aligned ( * * _Partition_Allocate * + * DESCRIPTION: + * + * This function allocates a partition control block from + * the inactive chain of free partition control blocks. */ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) @@ -116,6 +141,10 @@ STATIC INLINE Partition_Control *_Partition_Allocate ( void ) * * _Partition_Free * + * DESCRIPTION: + * + * This routine frees a partition control block to the + * inactive chain of free partition control blocks. */ STATIC INLINE void _Partition_Free ( @@ -129,6 +158,15 @@ STATIC INLINE void _Partition_Free ( * * _Partition_Get * + * DESCRIPTION: + * + * This function maps partition IDs to partition control blocks. + * If ID corresponds to a local partition, then it returns + * the_partition control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. If the partition ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_partition is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_partition is undefined. */ STATIC INLINE Partition_Control *_Partition_Get ( @@ -144,6 +182,10 @@ STATIC INLINE Partition_Control *_Partition_Get ( * * _Partition_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_partition is NULL + * and FALSE otherwise. */ STATIC INLINE boolean _Partition_Is_null ( diff --git a/cpukit/rtems/inline/rtems/rtems/ratemon.inl b/cpukit/rtems/inline/rtems/rtems/ratemon.inl index b748f919b3..0450988329 100644 --- a/cpukit/rtems/inline/rtems/rtems/ratemon.inl +++ b/cpukit/rtems/inline/rtems/rtems/ratemon.inl @@ -21,6 +21,10 @@ * * _Rate_monotonic_Allocate * + * DESCRIPTION: + * + * This function allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) @@ -33,6 +37,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) * * _Rate_monotonic_Free * + * DESCRIPTION: + * + * This routine allocates a period control block from + * the inactive chain of free period control blocks. */ STATIC INLINE void _Rate_monotonic_Free ( @@ -46,6 +54,13 @@ STATIC INLINE void _Rate_monotonic_Free ( * * _Rate_monotonic_Get * + * DESCRIPTION: + * + * This function maps period IDs to period control blocks. + * If ID corresponds to a local period, then it returns + * the_period control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_period is undefined. */ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( @@ -61,6 +76,10 @@ STATIC INLINE Rate_monotonic_Control *_Rate_monotonic_Get ( * * _Rate_monotonic_Is_active * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_active ( @@ -74,6 +93,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_active ( * * _Rate_monotonic_Is_inactive * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the ACTIVE state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( @@ -87,6 +110,10 @@ STATIC INLINE boolean _Rate_monotonic_Is_inactive ( * * _Rate_monotonic_Is_expired * + * DESCRIPTION: + * + * This function returns TRUE if the_period is in the EXPIRED state, + * and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_expired ( @@ -100,6 +127,9 @@ STATIC INLINE boolean _Rate_monotonic_Is_expired ( * * _Rate_monotonic_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_period is NULL and FALSE otherwise. */ STATIC INLINE boolean _Rate_monotonic_Is_null ( diff --git a/cpukit/rtems/inline/rtems/rtems/region.inl b/cpukit/rtems/inline/rtems/rtems/region.inl index 5a0e4da1bf..aae042bed4 100644 --- a/cpukit/rtems/inline/rtems/rtems/region.inl +++ b/cpukit/rtems/inline/rtems/rtems/region.inl @@ -21,6 +21,10 @@ * * _Region_Allocate * + * DESCRIPTION: + * + * This function allocates a region control block from + * the inactive chain of free region control blocks. */ STATIC INLINE Region_Control *_Region_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Region_Control *_Region_Allocate( void ) * * _Region_Free * + * DESCRIPTION: + * + * This routine frees a region control block to the + * inactive chain of free region control blocks. */ STATIC INLINE void _Region_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Region_Free ( * * _Region_Get * + * DESCRIPTION: + * + * This function maps region IDs to region control blocks. + * If ID corresponds to a local region, then it returns + * the_region control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the_region is undefined. */ STATIC INLINE Region_Control *_Region_Get ( @@ -60,6 +75,11 @@ STATIC INLINE Region_Control *_Region_Get ( * * _Region_Allocate_segment * + * DESCRIPTION: + * + * This function attempts to allocate a segment from the_region. + * If successful, it returns the address of the allocated segment. + * Otherwise, it returns NULL. */ STATIC INLINE void *_Region_Allocate_segment ( @@ -74,6 +94,9 @@ STATIC INLINE void *_Region_Allocate_segment ( * * _Region_Free_segment * + * DESCRIPTION: + * + * This function frees the_segment to the_region. */ STATIC INLINE boolean _Region_Free_segment ( @@ -88,6 +111,9 @@ STATIC INLINE boolean _Region_Free_segment ( * * _Region_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_region is NULL and FALSE otherwise. */ STATIC INLINE boolean _Region_Is_null ( diff --git a/cpukit/rtems/inline/rtems/rtems/sem.inl b/cpukit/rtems/inline/rtems/rtems/sem.inl index 518684a97a..c80431f9b1 100644 --- a/cpukit/rtems/inline/rtems/rtems/sem.inl +++ b/cpukit/rtems/inline/rtems/rtems/sem.inl @@ -21,6 +21,10 @@ * * _Semaphore_Allocate * + * DESCRIPTION: + * + * This function allocates a semaphore control block from + * the inactive chain of free semaphore control blocks. */ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void ) * * _Semaphore_Free * + * DESCRIPTION: + * + * This routine frees a semaphore control block to the + * inactive chain of free semaphore control blocks. */ STATIC INLINE void _Semaphore_Free ( @@ -45,6 +53,15 @@ STATIC INLINE void _Semaphore_Free ( * * _Semaphore_Get * + * DESCRIPTION: + * + * This function maps semaphore IDs to semaphore control blocks. + * If ID corresponds to a local semaphore, then it returns + * the_semaphore control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. if the semaphore ID is global and + * resides on a remote node, then location is set to OBJECTS_REMOTE, + * and the_semaphore is undefined. Otherwise, location is set + * to OBJECTS_ERROR and the_semaphore is undefined. */ STATIC INLINE Semaphore_Control *_Semaphore_Get ( @@ -60,6 +77,9 @@ STATIC INLINE Semaphore_Control *_Semaphore_Get ( * * _Semaphore_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */ STATIC INLINE boolean _Semaphore_Is_null ( diff --git a/cpukit/rtems/inline/rtems/rtems/status.inl b/cpukit/rtems/inline/rtems/rtems/status.inl index 1db5a1e89f..f85b4c6d0b 100644 --- a/cpukit/rtems/inline/rtems/rtems/status.inl +++ b/cpukit/rtems/inline/rtems/rtems/status.inl @@ -21,6 +21,10 @@ * * rtems_is_status_successful * + * DESCRIPTION: + * + * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_is_status_successful( @@ -34,6 +38,10 @@ STATIC INLINE boolean rtems_is_status_successful( * * rtems_are_statuses_equal * + * DESCRIPTION: + * + * This function returns TRUE if the status code1 is equal to code2, + * and FALSE otherwise. */ STATIC INLINE boolean rtems_are_statuses_equal( diff --git a/cpukit/rtems/inline/rtems/rtems/support.inl b/cpukit/rtems/inline/rtems/rtems/support.inl index 2f98a98ad0..856b24e7f9 100644 --- a/cpukit/rtems/inline/rtems/rtems/support.inl +++ b/cpukit/rtems/inline/rtems/rtems/support.inl @@ -21,6 +21,9 @@ * * rtems_is_name_valid * + * DESCRIPTION: + * + * This function returns TRUE if the name is valid, and FALSE otherwise. */ STATIC INLINE rtems_boolean rtems_is_name_valid ( @@ -34,6 +37,10 @@ STATIC INLINE rtems_boolean rtems_is_name_valid ( * * rtems_name_to_characters * + * DESCRIPTION: + * + * This function breaks the object name into the four component + * characters C1, C2, C3, and C4. */ STATIC INLINE void rtems_name_to_characters( diff --git a/cpukit/rtems/inline/rtems/rtems/tasks.inl b/cpukit/rtems/inline/rtems/rtems/tasks.inl index ccd2de2613..6caa34ea80 100644 --- a/cpukit/rtems/inline/rtems/rtems/tasks.inl +++ b/cpukit/rtems/inline/rtems/rtems/tasks.inl @@ -21,6 +21,10 @@ * * _RTEMS_tasks_Allocate * + * DESCRIPTION: + * + * This function allocates a task control block from + * the inactive chain of free task control blocks. */ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Thread_Control *_RTEMS_tasks_Allocate( void ) * * _RTEMS_tasks_Free * + * DESCRIPTION: + * + * This routine frees a task control block to the + * inactive chain of free task control blocks. */ STATIC INLINE void _RTEMS_tasks_Free ( @@ -47,6 +55,10 @@ STATIC INLINE void _RTEMS_tasks_Free ( /*PAGE * * _RTEMS_tasks_Priority_to_Core + * + * DESCRIPTION: + * + * This function converts an RTEMS API priority into a core priority. */ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( @@ -60,6 +72,10 @@ STATIC INLINE Priority_Control _RTEMS_tasks_Priority_to_Core( * * _RTEMS_tasks_Priority_is_valid * + * DESCRIPTION: + * + * This function returns TRUE if the_priority is a valid user task priority + * and FALSE otherwise. */ STATIC INLINE boolean _RTEMS_tasks_Priority_is_valid ( diff --git a/cpukit/rtems/inline/rtems/rtems/timer.inl b/cpukit/rtems/inline/rtems/rtems/timer.inl index 7af3b9fa3d..dedcdffa36 100644 --- a/cpukit/rtems/inline/rtems/rtems/timer.inl +++ b/cpukit/rtems/inline/rtems/rtems/timer.inl @@ -21,6 +21,10 @@ * * _Timer_Allocate * + * DESCRIPTION: + * + * This function allocates a timer control block from + * the inactive chain of free timer control blocks. */ STATIC INLINE Timer_Control *_Timer_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Timer_Control *_Timer_Allocate( void ) * * _Timer_Free * + * DESCRIPTION: + * + * This routine frees a timer control block to the + * inactive chain of free timer control blocks. */ STATIC INLINE void _Timer_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Timer_Free ( * * _Timer_Get * + * DESCRIPTION: + * + * This function maps timer IDs to timer control blocks. + * If ID corresponds to a local timer, then it returns + * the timer control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Timer_Control *_Timer_Get ( @@ -60,6 +75,10 @@ STATIC INLINE Timer_Control *_Timer_Get ( * * _Timer_Is_interval_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_interval_class ( @@ -73,6 +92,10 @@ STATIC INLINE boolean _Timer_Is_interval_class ( * * _Timer_Is_time_of_day_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of an INTERVAL + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( @@ -86,6 +109,10 @@ STATIC INLINE boolean _Timer_Is_timer_of_day_class ( * * _Timer_Is_dormant_class * + * DESCRIPTION: + * + * This function returns TRUE if the class is that of a DORMANT + * timer, and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_dormant_class ( @@ -99,6 +126,9 @@ STATIC INLINE boolean _Timer_Is_dormant_class ( * * _Timer_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_timer is NULL and FALSE otherwise. */ STATIC INLINE boolean _Timer_Is_null ( diff --git a/cpukit/rtems/macros/rtems/rtems/modes.inl b/cpukit/rtems/macros/rtems/rtems/modes.inl index 5f71796c07..a7dea6516d 100644 --- a/cpukit/rtems/macros/rtems/rtems/modes.inl +++ b/cpukit/rtems/macros/rtems/rtems/modes.inl @@ -19,14 +19,6 @@ /*PAGE * - * RTEMS_INTERRUPT_LEVEL - */ - -#define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ - ( (_mode_set) & RTEMS_INTERRUPT_MASK ) - -/*PAGE - * * _Modes_Mask_changed * */ diff --git a/cpukit/sapi/include/rtems/extension.h b/cpukit/sapi/include/rtems/extension.h index 0d6433fa5e..8f46ed80dd 100644 --- a/cpukit/sapi/include/rtems/extension.h +++ b/cpukit/sapi/include/rtems/extension.h @@ -124,60 +124,9 @@ rtems_status_code rtems_extension_delete( Objects_Id id ); -/* - * _Extension_Allocate - * - * DESCRIPTION: - * - * This function allocates a extension control block from - * the inactive chain of free extension control blocks. - */ - -STATIC INLINE Extension_Control *_Extension_Allocate( void ); - -/* - * _Extension_Free - * - * DESCRIPTION: - * - * This routine frees a extension control block to the - * inactive chain of free extension control blocks. - */ - -STATIC INLINE void _Extension_Free ( - Extension_Control *the_extension -); - -/* - * _Extension_Get - * - * DESCRIPTION: - * - * This function maps extension IDs to extension control blocks. - * If ID corresponds to a local extension, then it returns - * the extension control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -STATIC INLINE Extension_Control *_Extension_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Extension_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_extension is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Extension_Is_null( - Extension_Control *the_extension -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/extension.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/sapi/inline/rtems/extension.inl b/cpukit/sapi/inline/rtems/extension.inl index 27941923b0..c7757ff280 100644 --- a/cpukit/sapi/inline/rtems/extension.inl +++ b/cpukit/sapi/inline/rtems/extension.inl @@ -21,6 +21,10 @@ * * _Extension_Allocate * + * DESCRIPTION: + * + * This function allocates a extension control block from + * the inactive chain of free extension control blocks. */ STATIC INLINE Extension_Control *_Extension_Allocate( void ) @@ -32,6 +36,10 @@ STATIC INLINE Extension_Control *_Extension_Allocate( void ) * * _Extension_Free * + * DESCRIPTION: + * + * This routine frees a extension control block to the + * inactive chain of free extension control blocks. */ STATIC INLINE void _Extension_Free ( @@ -45,6 +53,13 @@ STATIC INLINE void _Extension_Free ( * * _Extension_Get * + * DESCRIPTION: + * + * This function maps extension IDs to extension control blocks. + * If ID corresponds to a local extension, then it returns + * the extension control pointer which maps to ID and location + * is set to OBJECTS_LOCAL. Otherwise, location is set + * to OBJECTS_ERROR and the returned value is undefined. */ STATIC INLINE Extension_Control *_Extension_Get ( @@ -60,6 +75,9 @@ STATIC INLINE Extension_Control *_Extension_Get ( * * _Extension_Is_null * + * DESCRIPTION: + * + * This function returns TRUE if the_extension is NULL and FALSE otherwise. */ STATIC INLINE boolean _Extension_Is_null ( diff --git a/cpukit/score/include/rtems/score/address.h b/cpukit/score/include/rtems/score/address.h index be056f220a..ec5ec6b03e 100644 --- a/cpukit/score/include/rtems/score/address.h +++ b/cpukit/score/include/rtems/score/address.h @@ -21,83 +21,9 @@ extern "C" { #endif -/* - * _Addresses_Add_offset - * - * DESCRIPTION: - * - * This function is used to add an offset to a base address. - * It returns the resulting address. This address is typically - * converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Add_offset ( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract_offset - * - * DESCRIPTION: - * - * This function is used to subtract an offset from a base - * address. It returns the resulting address. This address is - * typically converted to an access type before being used further. - */ - -STATIC INLINE void *_Addresses_Subtract_offset( - void *base, - unsigned32 offset -); - -/* - * _Addresses_Subtract - * - * DESCRIPTION: - * - * This function is used to subtract two addresses. It returns the - * resulting offset. - */ - -STATIC INLINE unsigned32 _Addresses_Subtract ( - void *left, - void *right -); - -/* - * _Addresses_Is_aligned - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is correctly - * aligned for this processor and FALSE otherwise. Proper alignment - * is based on correctness and efficiency. - */ - -STATIC INLINE boolean _Addresses_Is_aligned ( - void *address -); - -/* - * _Addresses_Is_in_range - * - * DESCRIPTION: - * - * This function returns TRUE if the given address is within the - * memory range specified and FALSE otherwise. base is the address - * of the first byte in the memory range and limit is the address - * of the last byte in the memory range. The base address is - * assumed to be lower than the limit address. - */ - -STATIC INLINE boolean _Addresses_Is_in_range ( - void *address, - void *base, - void *limit -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/address.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h index 1d6c8f1db4..6eed361e88 100644 --- a/cpukit/score/include/rtems/score/chain.h +++ b/cpukit/score/include/rtems/score/chain.h @@ -84,49 +84,6 @@ void _Chain_Initialize( ); /* - * _Chain_Initialize_empty - * - * DESCRIPTION: - * - * This routine initializes the specified chain to contain zero nodes. - * - */ - -STATIC INLINE void _Chain_Initialize_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Are_nodes_equal - * - * DESCRIPTION: - * - * This function returns TRUE if LEFT and RIGHT are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Are_nodes_equal( - Chain_Node *left, - Chain_Node *right -); - -/* - * _Chain_Extract_unprotected - * - * DESCRIPTION: - * - * This routine extracts the_node from the chain on which it resides. - * It does NOT disable interrupts to insure the atomicity of the - * extract operation. - * - */ - -STATIC INLINE void _Chain_Extract_unprotected( - Chain_Node *the_node -); - -/* * _Chain_Extract * * DESCRIPTION: @@ -142,22 +99,6 @@ void _Chain_Extract( ); /* - * _Chain_Get_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. - * It does NOT disable interrupts to insure the atomicity of the - * get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_unprotected( - Chain_Control *the_chain -); - -/* * _Chain_Get * * DESCRIPTION: @@ -174,37 +115,6 @@ Chain_Node *_Chain_Get( ); /* - * _Chain_Get_first_unprotected - * - * DESCRIPTION: - * - * This function removes the first node from the_chain and returns - * a pointer to that node. It does NOT disable interrupts to insure - * the atomicity of the get operation. - * - */ - -STATIC INLINE Chain_Node *_Chain_Get_first_unprotected( - Chain_Control *the_chain -); - -/* - * _Chain_Insert_unprotected - * - * DESCRIPTION: - * - * This routine inserts the_node on a chain immediately following - * after_node. It does NOT disable interrupts to insure the atomicity - * of the extract operation. - * - */ - -STATIC INLINE void _Chain_Insert_unprotected( - Chain_Node *after_node, - Chain_Node *the_node -); - -/* * _Chain_Insert * * DESCRIPTION: @@ -221,22 +131,6 @@ void _Chain_Insert( ); /* - * _Chain_Append_unprotected - * - * DESCRIPTION: - * - * This routine appends the_node onto the end of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * append operation. - * - */ - -STATIC INLINE void _Chain_Append_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* * _Chain_Append * * DESCRIPTION: @@ -252,177 +146,9 @@ void _Chain_Append( Chain_Node *the_node ); -/* - * _Chain_Prepend_unprotected - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend_unprotected( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Prepend - * - * DESCRIPTION: - * - * This routine prepends the_node onto the front of the_chain. - * It disables interrupts to insure the atomicity of the - * prepend operation. - * - */ - -STATIC INLINE void _Chain_Prepend( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Head - * - * DESCRIPTION: - * - * This function returns a pointer to the first node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Head( - Chain_Control *the_chain -); - -/* - * _Chain_Tail - * - * DESCRIPTION: - * - * This function returns a pointer to the last node on the chain. - * - */ - -STATIC INLINE Chain_Node *_Chain_Tail( - Chain_Control *the_chain -); - -/* - * _Chain_Is_head - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the head of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_head( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_tail - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the tail of the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_tail( - Chain_Control *the_chain, - Chain_Node *the_node -); - -/* - * _Chain_Is_first - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the first node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_first( - Chain_Node *the_node -); - -/* - * _Chain_Is_last - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is the last node on a chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_last( - Chain_Node *the_node -); - -/* - * _Chain_Is_empty - * - * DESCRIPTION: - * - * This function returns TRUE if there a no nodes on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_empty( - Chain_Control *the_chain -); - -/* - * _Chain_Has_only_one_node - * - * DESCRIPTION: - * - * This function returns TRUE if there is only one node on the_chain and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Has_only_one_node( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_chain is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null( - Chain_Control *the_chain -); - -/* - * _Chain_Is_null_node - * - * DESCRIPTION: - * - * This function returns TRUE if the_node is NULL and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Chain_Is_null_node( - Chain_Node *the_node -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/chain.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h index 737004aeb8..b51e07ef61 100644 --- a/cpukit/score/include/rtems/score/coremsg.h +++ b/cpukit/score/include/rtems/score/coremsg.h @@ -196,41 +196,6 @@ unsigned32 _CORE_message_queue_Flush_support( ); /* - * _CORE_message_queue_send - * - * DESCRIPTION: - * - * This routine sends a message to the end of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Send( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* - * - * _CORE_message_queue_Urgent - * - * DESCRIPTION: - * - * This routine sends a message to the front of the specified message queue. - * - */ - -STATIC INLINE CORE_message_queue_Status _CORE_message_queue_Urgent( - CORE_message_queue_Control *the_message_queue, - void *buffer, - unsigned32 size, - Objects_Id id, - CORE_message_queue_API_mp_support_callout api_message_queue_mp_support -); - -/* * * _CORE_message_queue_Broadcast * @@ -296,144 +261,9 @@ void _CORE_message_queue_Seize( Watchdog_Interval timeout ); -/* - * _CORE_message_queue_Allocate_message_buffer - * - * DESCRIPTION: - * - * This function allocates a message buffer from the inactive - * message buffer chain. - */ - -STATIC INLINE CORE_message_queue_Buffer_control * - _CORE_message_queue_Allocate_message_buffer ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Free_message_buffer - * - * DESCRIPTION: - * - * This routine frees a message buffer to the inactive - * message buffer chain. - */ - -STATIC INLINE void _CORE_message_queue_Free_message_buffer ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Copy_buffer - * - * DESCRIPTION: - * - * This routine copies the contents of the source message buffer - * to the destination message buffer. - */ - -STATIC INLINE void _CORE_message_queue_Copy_buffer ( - void *source, - void *destination, - unsigned32 size -); - -/* - * _CORE_message_queue_Get_pending_message - * - * DESCRIPTION: - * - * This function removes the first message from the_message_queue - * and returns a pointer to it. - */ - -STATIC INLINE - CORE_message_queue_Buffer_control *_CORE_message_queue_Get_pending_message ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_priority( - CORE_message_queue_Attributes *the_attribute -); - -/* - * _CORE_message_queue_Append - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Append ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Prepend - * - * DESCRIPTION: - * - * This routine places the_message at the rear of the outstanding - * messages on the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Prepend ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Buffer_control *the_message -); - -/* - * _CORE_message_queue_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_null ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Is_notify_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if notification is enabled on this message - * queue and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled ( - CORE_message_queue_Control *the_message_queue -); - -/* - * _CORE_message_queue_Set_notify - * - * DESCRIPTION: - * - * This routine initializes the notification information for the_message_queue. - */ - -STATIC INLINE void _CORE_message_queue_Set_notify ( - CORE_message_queue_Control *the_message_queue, - CORE_message_queue_Notify_Handler the_handler, - void *the_argument -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremsg.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h index 2e8d16a0c1..73b7e34417 100644 --- a/cpukit/score/include/rtems/score/coremutex.h +++ b/cpukit/score/include/rtems/score/coremutex.h @@ -158,85 +158,9 @@ void _CORE_mutex_Flush( unsigned32 status ); -/* - * _CORE_mutex_Is_locked - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex specified is locked and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_locked( - CORE_mutex_Control *the_mutex -); - -/* - * _CORE_mutex_Is_fifo - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is FIFO and FALSE - * otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_fifo( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is PRIORITY and - * FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_inherit_priority - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * INHERIT_PRIORITY and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_inherit_priority( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_priority_ceiling - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex's wait discipline is - * PRIORITY_CEILING and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_mutex_Is_priority_ceiling( - CORE_mutex_Attributes *the_attribute -); - -/* - * _CORE_mutex_Is_nesting_allowed - * - * DESCRIPTION: - * - * This routine returns TRUE if the mutex allows a task to obtain a - * semaphore more than once and nest. - */ - -STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed( - CORE_mutex_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coremutex.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h index cf40da4783..88f712be5d 100644 --- a/cpukit/score/include/rtems/score/coresem.h +++ b/cpukit/score/include/rtems/score/coresem.h @@ -143,32 +143,9 @@ void _CORE_semaphore_Flush( unsigned32 status ); -/* - * _CORE_semaphore_Get_count - * - * DESCRIPTION: - * - * This routine returns the current count associated with the semaphore. - */ - -STATIC INLINE unsigned32 _CORE_semaphore_Get_count( - CORE_semaphore_Control *the_semaphore -); - -/* - * _CORE_semaphore_Is_priority - * - * DESCRIPTION: - * - * This function returns TRUE if the priority attribute is - * enabled in the attribute_set and FALSE otherwise. - */ - -STATIC INLINE boolean _CORE_semaphore_Is_priority( - CORE_semaphore_Attributes *the_attribute -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/coresem.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h index dd50a0de8a..c1a0650d0a 100644 --- a/cpukit/score/include/rtems/score/heap.h +++ b/cpukit/score/include/rtems/score/heap.h @@ -214,189 +214,9 @@ void _Heap_Walk( boolean do_dump ); -/* - * _Heap_Head - * - * DESCRIPTION: - * - * This function returns the head of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Head ( - Heap_Control *the_heap -); - -/* - * _Heap_Tail - * - * DESCRIPTION: - * - * This function returns the tail of the specified heap. - */ - -STATIC INLINE Heap_Block *_Heap_Tail ( - Heap_Control *the_heap -); - -/* - * _Heap_Previous_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * precedes the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Previous_block ( - Heap_Block *the_block -); - -/* - * _Heap_Next_block - * - * DESCRIPTION: - * - * This function returns the address of the block which physically - * follows the_block in memory. - */ - -STATIC INLINE Heap_Block *_Heap_Next_block ( - Heap_Block *the_block -); - -/* - * _Heap_Block_at - * - * DESCRIPTION: - * - * This function calculates and returns a block's location (address) - * in the heap based upad a base address and an offset. - */ - -STATIC INLINE Heap_Block *_Heap_Block_at( - void *base, - unsigned32 offset -); - -/*PAGE - * - * _Heap_User_block_at - * - */ - -STATIC INLINE Heap_Block *_Heap_User_block_at( - void *base -); - -/* - * _Heap_Is_previous_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the previous block of the_block - * is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_previous_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_free - * - * DESCRIPTION: - * - * This function returns TRUE if the block is free, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_free ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_used - * - * DESCRIPTION: - * - * This function returns TRUE if the block is currently allocated, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_used ( - Heap_Block *the_block -); - -/* - * _Heap_Block_size - * - * DESCRIPTION: - * - * This function returns the size of the_block in bytes. - */ - -STATIC INLINE unsigned32 _Heap_Block_size ( - Heap_Block *the_block -); - -/* - * _Heap_Start_of_user_area - * - * DESCRIPTION: - * - * This function returns the starting address of the portion of the block - * which the user may access. - */ - -STATIC INLINE void *_Heap_Start_of_user_area ( - Heap_Block *the_block -); - -/* - * _Heap_Is_block_in - * - * DESCRIPTION: - * - * This function returns TRUE if the_block is within the memory area - * managed by the_heap, and FALSE otherwise. - */ - -STATIC INLINE boolean _Heap_Is_block_in ( - Heap_Control *the_heap, - Heap_Block *the_block -); - - -/* - * _Heap_Is_page_size_valid - * - * DESCRIPTION: - * - * This function validates a specified heap page size. If the page size - * is 0 or if lies outside a page size alignment boundary it is invalid - * and FALSE is returned. Otherwise, the page size is valid and TRUE is - * returned. - */ - -STATIC INLINE boolean _Heap_Is_page_size_valid( - unsigned32 page_size -); - -/* - * _Heap_Build_flag - * - * DESCRIPTION: - * - * This function returns the block flag composed of size and in_use_flag. - * The flag returned is suitable for use as a back or front flag in a - * heap block. - */ - -STATIC INLINE unsigned32 _Heap_Build_flag ( - unsigned32 size, - unsigned32 in_use_flag -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/heap.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h index bb80823cfb..e42d7b888e 100644 --- a/cpukit/score/include/rtems/score/isr.h +++ b/cpukit/score/include/rtems/score/isr.h @@ -141,19 +141,6 @@ void _ISR_Handler_initialization ( void ); _CPU_ISR_Flash( _level ) /* - * _ISR_Is_in_progress - * - * DESCRIPTION: - * - * This function returns TRUE if the processor is currently servicing - * and interrupt and FALSE otherwise. A return value of TRUE indicates - * that the caller is an interrupt service routine, NOT a thread. The - * directives available to an interrupt service routine are restricted. - */ - -STATIC INLINE boolean _ISR_Is_in_progress( void ); - -/* * _ISR_Install_vector * * DESCRIPTION: @@ -191,32 +178,6 @@ STATIC INLINE boolean _ISR_Is_in_progress( void ); _CPU_ISR_Set_level( _new_level ) /* - * _ISR_Is_vector_number_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the vector is a valid vector number - * for this processor and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_vector_number_valid ( - ISR_Vector_number vector -); - -/* - * _ISR_Is_valid_user_handler - * - * DESCRIPTION: - * - * This function returns TRUE if handler is the entry point of a valid - * use interrupt service routine and FALSE otherwise. - */ - -STATIC INLINE boolean _ISR_Is_valid_user_handler ( - void *handler -); - -/* * _ISR_Handler * * DESCRIPTION: @@ -253,7 +214,9 @@ void _ISR_Handler( void ); void _ISR_Dispatch( void ); +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/isr.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/mppkt.h b/cpukit/score/include/rtems/score/mppkt.h index 37469d93b8..0c651bc4e8 100644 --- a/cpukit/score/include/rtems/score/mppkt.h +++ b/cpukit/score/include/rtems/score/mppkt.h @@ -88,33 +88,9 @@ typedef struct { #define MP_PACKET_MINIMUN_HETERO_CONVERSION ( sizeof( MP_packet_Prefix ) / 4 ) -/* - * _Mp_packet_Is_valid_packet_class - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is valid, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_valid_packet_class ( - MP_packet_Classes the_packet_class -); - -/* - * _Mp_packet_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the the_packet_class is null, - * and FALSE otherwise. - */ - -STATIC INLINE boolean _Mp_packet_Is_null ( - MP_packet_Prefix *the_packet -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/mppkt.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h index 2c93a44379..d70009c3c9 100644 --- a/cpukit/score/include/rtems/score/object.h +++ b/cpukit/score/include/rtems/score/object.h @@ -383,176 +383,9 @@ Objects_Information *_Objects_Get_information( ); /* - * _Objects_Build_id - * - * DESCRIPTION: - * - * This function builds an object's id from the processor node and index - * values specified. - * - */ - -STATIC INLINE Objects_Id _Objects_Build_id( - Objects_Classes the_class, - unsigned32 node, - unsigned32 index -); - -/* - * _Objects_Get_class - * - * DESCRIPTION: - * - * This function returns the class portion of the ID. - * - */ - -STATIC INLINE Objects_Classes _Objects_Get_class( - Objects_Id id -); - -/* - * _Objects_Get_node - * - * DESCRIPTION: - * - * This function returns the node portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_node( - Objects_Id id -); - -/* - * _Objects_Get_index - * - * DESCRIPTION: - * - * This function returns the index portion of the ID. - * - */ - -STATIC INLINE unsigned32 _Objects_Get_index( - Objects_Id id -); - -/* - * _Objects_Is_class_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the class is valid. - * - */ - -STATIC INLINE boolean _Objects_Is_class_valid( - Objects_Classes the_class -); - -/* - * _Objects_Is_local_node - * - * DESCRIPTION: - * - * This function returns TRUE if the node is of the local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_node( - unsigned32 node -); - -/* - * _Objects_Is_local_id - * - * DESCRIPTION: - * - * This function returns TRUE if the id is of a local object, and - * FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Is_local_id( - Objects_Id id -); - -/* - * _Objects_Are_ids_equal - * - * DESCRIPTION: - * - * This function returns TRUE if left and right are equal, - * and FALSE otherwise. - * - */ - -STATIC INLINE boolean _Objects_Are_ids_equal( - Objects_Id left, - Objects_Id right -); - -/* - * _Objects_Allocate - * - * DESCRIPTION: - * - * This function allocates a object control block from - * the inactive chain of free object control blocks. - * - */ - -STATIC INLINE Objects_Control *_Objects_Allocate( - Objects_Information *information -); - -/* - * _Objects_Free - * - * DESCRIPTION: - * - * This function frees a object control block to the - * inactive chain of free object control blocks. - * - */ - -STATIC INLINE void _Objects_Free( - Objects_Information *information, - Objects_Control *the_object -); - -/* - * _Objects_Open - * - * DESCRIPTION: - * - * This function places the_object control pointer and object name - * in the Local Pointer and Local Name Tables, respectively. - * + * Pieces of object.inl are promoted out to the user */ -STATIC INLINE void _Objects_Open( - Objects_Information *information, - Objects_Control *the_object, - Objects_Name name -); - -/* - * _Objects_Close - * - * DESCRIPTION: - * - * This function removes the_object control pointer and object name - * in the Local Pointer and Local Name Tables. - * - */ - -STATIC INLINE void _Objects_Close( - Objects_Information *information, - Objects_Control *the_object -); - #include <rtems/score/object.inl> #include <rtems/score/objectmp.h> diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h index dbd468e169..96496656df 100644 --- a/cpukit/score/include/rtems/score/objectmp.h +++ b/cpukit/score/include/rtems/score/objectmp.h @@ -47,42 +47,6 @@ void _Objects_MP_Handler_initialization ( unsigned32 maximum_global_objects ); -/* - * _Objects_MP_Allocate_global_object - * - * DESCRIPTION: - * - * This function allocates a Global Object control block. - */ - -STATIC INLINE Objects_MP_Control *_Objects_MP_Allocate_global_object ( - void -); - -/* - * _Objects_MP_Free_global_object - * - * DESCRIPTION: - * - * This routine deallocates a Global Object control block. - */ - -STATIC INLINE void _Objects_MP_Free_global_object ( - Objects_MP_Control *the_object -); - -/* - * _Objects_MP_Is_null_global_object - * - * DESCRIPTION: - * - * This function returns whether the global object is NULL or not. - */ - -STATIC INLINE boolean _Objects_MP_Is_null_global_object ( - Objects_MP_Control *the_object -); - /*PAGE * * _Objects_MP_Open @@ -176,7 +140,9 @@ void _Objects_MP_Is_remote ( EXTERN unsigned32 _Objects_MP_Maximum_global_objects; EXTERN Chain_Control _Objects_MP_Inactive_global_objects; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/objectmp.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h index a4a96045d5..b7de14f0f9 100644 --- a/cpukit/score/include/rtems/score/priority.h +++ b/cpukit/score/include/rtems/score/priority.h @@ -67,164 +67,26 @@ EXTERN Priority_Bit_map_control _Priority_Bit_map[16] CPU_STRUCTURE_ALIGNMENT; */ /* - * _Priority_Handler_initialization + * Priority Bitfield Manipulation Routines * - * DESCRIPTION: + * NOTE: * - * This routine performs the initialization necessary for this handler. - */ - -STATIC INLINE void _Priority_Handler_initialization( void ); - -/* - * _Priority_Is_valid - * - * DESCRIPTION: - * - * This function returns TRUE if the_priority if valid for a - * user task, and FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_valid ( - Priority_Control the_priority -); - -/* - * _Priority_Major - * - * DESCRIPTION: - * - * This function returns the major portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Major ( - Priority_Control the_priority -); - -/* - * _Priority_Minor - * - * DESCRIPTION: - * - * This function returns the minor portion of the_priority. - */ - -STATIC INLINE unsigned32 _Priority_Minor ( - Priority_Control the_priority -); - -/* - * _Priority_Mask - * - * DESCRIPTION: - * - * This function returns the mask associated with the major or minor - * number passed to it. + * These may simply be pass throughs to CPU dependent routines. */ -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Mask ( - unsigned32 bit_number -); - -#else +#if ( CPU_USE_GENERIC_BITFIELD_CODE == FALSE ) #define _Priority_Mask( _bit_number ) \ _CPU_Priority_Mask( _bit_number ) -#endif - -/* - * _Priority_Bits_index - * - * DESCRIPTION: - * - * This function translates the bit numbers returned by the bit scan - * of a priority bit field into something suitable for use as - * a major or minor component of a priority. - */ - -#if ( CPU_USE_GENERIC_BITFIELD_CODE == TRUE ) - -STATIC INLINE unsigned32 _Priority_Bits_index ( - unsigned32 bit_number -); - -#else - #define _Priority_Bits_index( _priority ) \ _CPU_Priority_bits_index( _priority ) #endif -/* - * _Priority_Add_to_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been readied. - */ - -STATIC INLINE void _Priority_Add_to_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Remove_from_bit_map - * - * DESCRIPTION: - * - * This routine uses the_priority_map to update the priority - * bit maps to indicate that a thread has been removed from the - * ready state. - */ - -STATIC INLINE void _Priority_Remove_from_bit_map ( - Priority_Information *the_priority_map -); - -/* - * _Priority_Get_highest - * - * DESCRIPTION: - * - * This function returns the priority of the highest priority - * ready thread. - */ - -STATIC INLINE Priority_Control _Priority_Get_highest( void ); - -/* - * _Priority_Initialize_information - * - * DESCRIPTION: - * - * This routine initializes the_priority_map so that it - * contains the information necessary to manage a thread - * at new_priority. - */ - -STATIC INLINE void _Priority_Initialize_information( - Priority_Information *the_priority_map, - Priority_Control new_priority -); - -/* - * _Priority_Is_group_empty - * - * DESCRIPTION: - * - * This function returns TRUE if the priority GROUP is empty, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Priority_Is_group_empty ( - Priority_Control the_priority -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/priority.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/stack.h b/cpukit/score/include/rtems/score/stack.h index a054dae3df..bf72782b42 100644 --- a/cpukit/score/include/rtems/score/stack.h +++ b/cpukit/score/include/rtems/score/stack.h @@ -38,54 +38,9 @@ typedef struct { void *area; /* low memory addr of stack */ } Stack_Control; -/* - * _Stack_Initialize - * - * DESCRIPTION: - * - * This routine initializes the_stack record to indicate that - * size bytes of memory starting at starting_address have been - * reserved for a stack. - */ - -STATIC INLINE void _Stack_Initialize ( - Stack_Control *the_stack, - void *starting_address, - unsigned32 size -); - -/* - * _Stack_Is_enough - * - * DESCRIPTION: - * - * This function returns TRUE if size bytes is enough memory for - * a valid stack area on this processor, and FALSE otherwise. - */ - -STATIC INLINE boolean _Stack_Is_enough ( - unsigned32 size -); - -/* - * _Stack_Adjust_size - * - * DESCRIPTION: - * - * This function increases the stack size to insure that the thread - * has the desired amount of stack space after the initial stack - * pointer is determined based on alignment restrictions. - * - * NOTE: - * - * The amount of adjustment for alignment is CPU dependent. - */ - -STATIC INLINE unsigned32 _Stack_Adjust_size ( - unsigned32 size -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/stack.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h index a120cadae3..1f8fd49fae 100644 --- a/cpukit/score/include/rtems/score/states.h +++ b/cpukit/score/include/rtems/score/states.h @@ -66,285 +66,9 @@ typedef unsigned32 States_Control; STATES_WAITING_FOR_EVENT | \ STATES_WAITING_ON_THREAD_QUEUE ) -/* - * _States_Set - * - * DESCRIPTION: - * - * This function sets the given states_to_set into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Set ( - States_Control states_to_set, - States_Control current_state -); - -/* - * _States_Clear - * - * DESCRIPTION: - * - * This function clears the given states_to_clear into the current_state - * passed in. The result is returned to the user in current_state. - */ - -STATIC INLINE States_Control _States_Clear ( - States_Control states_to_clear, - States_Control current_state -); - -/* - * _States_Is_ready - * - * DESCRIPTION: - * - * This function returns TRUE if the_states indicates that the - * state is READY, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_ready ( - States_Control the_states -); - -/* - * _States_Is_only_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is the ONLY state - * set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_only_dormant ( - States_Control the_states -); - -/* - * _States_Is_dormant - * - * DESCRIPTION: - * - * This function returns TRUE if the DORMANT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_dormant ( - States_Control the_states -); - -/* - * _States_Is_suspended - * - * DESCRIPTION: - * - * This function returns TRUE if the SUSPENDED state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_suspended ( - States_Control the_states -); - -/* - * _States_Is_Transient - * - * DESCRIPTION: - * - * This function returns TRUE if the TRANSIENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_transient ( - States_Control the_states -); - -/* - * _States_Is_delaying - * - * DESCRIPTION: - * - * This function returns TRUE if the DELAYING state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_delaying ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_buffer - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_BUFFER state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_buffer ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_segment - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEGMENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_segment ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_message - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MESSAGE state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_message ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_event - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_EVENT state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_event ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_mutex - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_MUTEX state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_mutex ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_semaphore - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_SEMAPHORE state - * is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_semaphore ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_time - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_time ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_rpc_reply - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_TIME state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_rpc_reply ( - States_Control the_states -); - -/* - * _States_Is_waiting_for_period - * - * DESCRIPTION: - * - * This function returns TRUE if the WAITING_FOR_PERIOD state is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_for_period ( - States_Control the_states -); - -/* - * _States_Is_locally_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_locally_blocked ( - States_Control the_states -); - -/* - * _States_Is_waiting_on_thread_queue - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked waiting for a local resource is set in - * the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_waiting_on_thread_queue ( - States_Control the_states -); - -/* - * _States_Is_blocked - * - * DESCRIPTION: - * - * This function returns TRUE if one of the states which indicates - * that a task is blocked is set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Is_blocked ( - States_Control the_states -); - -/* - * _States_Are_set - * - * DESCRIPTION: - * - * This function returns TRUE if any of the states in the mask - * are set in the_states, and FALSE otherwise. - */ - -STATIC INLINE boolean _States_Are_set ( - States_Control the_states, - States_Control mask -); - +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/states.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/sysstate.h b/cpukit/score/include/rtems/score/sysstate.h index c5d8562001..d7e43b2356 100644 --- a/cpukit/score/include/rtems/score/sysstate.h +++ b/cpukit/score/include/rtems/score/sysstate.h @@ -53,105 +53,9 @@ EXTERN boolean _System_state_Is_multiprocessing; EXTERN System_state_Codes _System_state_Current; /* - * _System_state_Handler_initialization - * - * DESCRIPTION: - * - * This routine initializes the system state handler. - */ - -STATIC INLINE void _System_state_Handler_initialization ( - boolean is_multiprocessing -); - -/* - * _System_state_Set - * - * DESCRIPTION: - * - * This routine sets the current system state to that specified by - * the called. + * Make it possible for the application to get the system state information. */ -STATIC INLINE void _System_state_Set ( - System_state_Codes state -); - -/* - * _System_state_Get - * - * DESCRIPTION: - * - * This function returns the current system state. - */ - -STATIC INLINE System_state_Codes _System_state_Get ( void ); - -/* - * _System_state_Is_before_initialization - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before initialization" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_initialization ( - System_state_Codes state -); - -/* - * _System_state_Is_before_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "before multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_before_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_begin_multitasking - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "begin multitasking" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_begin_multitasking ( - System_state_Codes state -); - -/* - * _System_state_Is_up - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "up" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_up ( - System_state_Codes state -); - -/* - * _System_state_Is_failed - * - * DESCRIPTION: - * - * This function returns TRUE if the state is equal to the - * "failed" state, and FALSE otherwise. - */ - -STATIC INLINE boolean _System_state_Is_failed ( - System_state_Codes state -); - #include <rtems/score/sysstate.inl> #ifdef __cplusplus diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h index d904df439b..8abf7c3584 100644 --- a/cpukit/score/include/rtems/score/thread.h +++ b/cpukit/score/include/rtems/score/thread.h @@ -284,28 +284,6 @@ void _Thread_Create_idle( void ); void _Thread_Start_multitasking( void ); /* - * _Thread_Stop_multitasking - * - * DESCRIPTION: - * - * This routine halts multitasking and returns control to - * the "thread" (i.e. the BSP) which initially invoked the - * routine which initialized the system. - */ - -STATIC INLINE void _Thread_Stop_multitasking( void ); - -/* - * _Thread_Dispatch_initialization - * - * DESCRIPTION: - * - * This routine initializes the thread dispatching subsystem. - */ - -STATIC INLINE void _Thread_Dispatch_initialization( void ); - -/* * _Thread_Dispatch * * DESCRIPTION: @@ -487,43 +465,6 @@ void _Thread_Tickle_timeslice( void ); void _Thread_Yield_processor( void ); /* - * _Thread_Is_executing - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the currently executing - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is the heir - * thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing ( - Thread_Control *the_thread -); - -/* - * _Thread_Is_executing_also_the_heir - * - * DESCRIPTION: - * - * This function returns TRUE if the currently executing thread - * is also the heir thread, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_executing_also_the_heir( void ); - -/* * _Thread_Load_environment * * DESCRIPTION: @@ -604,215 +545,6 @@ void _Thread_Set_priority( boolean _Thread_Evaluate_mode( void ); /* - * _Thread_Resume - * - * DESCRIPTION: - * - * This routine clears the SUSPENDED state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Resume ( - Thread_Control *the_thread -); - -/* - * _Thread_Unblock - * - * DESCRIPTION: - * - * This routine clears any blocking state for the_thread. It performs - * any necessary scheduling operations including the selection of - * a new heir thread. - */ - -STATIC INLINE void _Thread_Unblock ( - Thread_Control *the_thread -); - -/* - * _Thread_Restart_self - * - * DESCRIPTION: - * - * This routine resets the current context of the calling thread - * to that of its initial state. - */ - -STATIC INLINE void _Thread_Restart_self( void ); - -/* - * _Thread_Calculate_heir - * - * DESCRIPTION: - * - * This function returns a pointer to the highest priority - * ready thread. - */ - -STATIC INLINE void _Thread_Calculate_heir( void ); - -/* - * _Thread_Is_allocated_fp - * - * DESCRIPTION: - * - * This function returns TRUE if the floating point context of - * the_thread is currently loaded in the floating point unit, and - * FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_allocated_fp ( - Thread_Control *the_thread -); - -/* - * _Thread_Deallocate_fp - * - * DESCRIPTION: - * - * This routine is invoked when the currently loaded floating - * point context is now longer associated with an active thread. - */ - -STATIC INLINE void _Thread_Deallocate_fp( void ); - -/* - * _Thread_Disable_dispatch - * - * DESCRIPTION: - * - * This routine prevents dispatching. - */ - -STATIC INLINE void _Thread_Disable_dispatch( void ); - -/* - * _Thread_Enable_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. If this is - * the outer most dispatching critical section, then a dispatching - * operation will be performed and, if necessary, control of the - * processor will be transferred to the heir thread. - */ - -#if ( CPU_INLINE_ENABLE_DISPATCH == TRUE ) - -STATIC INLINE void _Thread_Enable_dispatch(); - -#endif - -#if ( CPU_INLINE_ENABLE_DISPATCH == FALSE ) - -void _Thread_Enable_dispatch( void ); - -#endif - -/* - * _Thread_Unnest_dispatch - * - * DESCRIPTION: - * - * This routine allows dispatching to occur again. However, - * no dispatching operation is performed even if this is the outer - * most dispatching critical section. - */ - -STATIC INLINE void _Thread_Unnest_dispatch( void ); - -/* - * _Thread_Is_dispatching_enabled - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_dispatching_enabled( void ); - -/* - * _Thread_Is_context_switch_necessary - * - * DESCRIPTION: - * - * This function returns TRUE if dispatching is disabled, and FALSE - * otherwise. - */ - -STATIC INLINE boolean _Thread_Is_context_switch_necessary( void ); - -/* - * _Thread_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_thread is NULL and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_null ( - Thread_Control *the_thread -); - -/* - * _Thread_Get - * - * DESCRIPTION: - * - * This function maps thread IDs to thread control - * blocks. If ID corresponds to a local thread, then it - * returns the_thread control pointer which maps to ID - * and location is set to OBJECTS_LOCAL. If the thread ID is - * global and resides on a remote node, then location is set - * to OBJECTS_REMOTE, and the_thread is undefined. - * Otherwise, location is set to OBJECTS_ERROR and - * the_thread is undefined. - */ - -STATIC INLINE Thread_Control *_Thread_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _Thread_Is_proxy_blocking - * - * DESCRIPTION: - * - * This function returns TRUE if the status code is equal to the - * status which indicates that a proxy is blocking, and FALSE otherwise. - */ - -STATIC INLINE boolean _Thread_Is_proxy_blocking ( - unsigned32 code -); - -/* - * _Thread_Internal_allocate - * - * DESCRIPTION: - * - * This routine allocates an internal thread. - */ - -STATIC INLINE Thread_Control *_Thread_Internal_allocate( void ); - -/* - * _Thread_Internal_free - * - * DESCRIPTION: - * - * This routine frees an internal thread. - */ - -STATIC INLINE void _Thread_Internal_free ( - Thread_Control *the_task -); - -/* * _Thread_Idle_body * * DESCRIPTION: @@ -826,7 +558,9 @@ Thread _Thread_Idle_body( ); #endif +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/thread.inl> +#endif #include <rtems/score/threadmp.h> #ifdef __cplusplus diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h index 4afc965381..0466a04065 100644 --- a/cpukit/score/include/rtems/score/threadmp.h +++ b/cpukit/score/include/rtems/score/threadmp.h @@ -26,8 +26,7 @@ extern "C" { * * DESCRIPTION: * - * This package is the specification for the Thread Handler's - * multiprocessing specific support routines. + * This routine initializes the multiprocessing portion of the Thread Handler. */ void _Thread_MP_Handler_initialization ( @@ -35,19 +34,6 @@ void _Thread_MP_Handler_initialization ( ); /* - * _Thread_MP_Is_receive - * - * DESCRIPTION: - * - * This function returns true if the thread in question is the - * multiprocessing receive thread. - */ - -STATIC INLINE boolean _Thread_MP_Is_receive ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Allocate_proxy * * DESCRIPTION: @@ -64,19 +50,6 @@ Thread_Control *_Thread_MP_Allocate_proxy ( ); /* - * _Thread_MP_Free_proxy - * - * DESCRIPTION: - * - * This routine frees a proxy control block to the - * inactive chain of free proxy control blocks. - */ - -STATIC INLINE void _Thread_MP_Free_proxy ( - Thread_Control *the_thread -); - -/* * _Thread_MP_Find_proxy * * DESCRIPTION: @@ -104,7 +77,9 @@ EXTERN Thread_Control *_Thread_MP_Receive; EXTERN Chain_Control _Thread_MP_Active_proxies; EXTERN Chain_Control _Thread_MP_Inactive_proxies; +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/threadmp.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h index 89ff118c33..b0fb686014 100644 --- a/cpukit/score/include/rtems/score/tod.h +++ b/cpukit/score/include/rtems/score/tod.h @@ -205,50 +205,6 @@ Watchdog_Interval _TOD_To_seconds( ); /* - * _TOD_Is_set - * - * DESCRIPTION: - * - * This function returns TRUE if the application has set the current - * time of day, and FALSE otherwise. - */ - -STATIC INLINE boolean _TOD_Is_set( void ); - -/* - * _TOD_Tickle_ticks - * - * DESCRIPTION: - * - * This routine increments the ticks field of the current time of - * day at each clock tick. - */ - -STATIC INLINE void _TOD_Tickle_ticks( void ); - -/* - * _TOD_Deactivate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Deactivate( void ); - -/* - * _TOD_Activate - * - * DESCRIPTION: - * - * This routine deactivates updating of the current time of day. - */ - -STATIC INLINE void _TOD_Activate( - Watchdog_Interval ticks -); - -/* * _TOD_Tickle * * DESCRIPTION: @@ -292,7 +248,9 @@ void _TOD_Tickle( #define TOD_MILLISECONDS_TO_TICKS(_ms) \ (TOD_MILLISECONDS_TO_MICROSECONDS(_ms) / _TOD_Microseconds_per_tick) +#ifndef __RTEMS_APPLICATION__ #include <rtems/score/tod.inl> +#endif #ifdef __cplusplus } diff --git a/cpukit/score/include/rtems/score/tqdata.h b/cpukit/score/include/rtems/score/tqdata.h index a4a5551dfd..c9c9585f7f 100644 --- a/cpukit/score/include/rtems/score/tqdata.h +++ b/cpukit/score/include/rtems/score/tqdata.h @@ -48,11 +48,23 @@ typedef enum { } Thread_queue_States; /* - * The following record defines the control block used |