[PATCH 79/98] doxygen: score: adjust doc in threadimpl.h to doxygen guidelines

Sebastian Huber sebastian.huber at embedded-brains.de
Tue May 7 05:40:24 UTC 2019


From: Andreas Dachsberger <andreas.dachsberger at embedded-brains.de>

---
 cpukit/include/rtems/score/threadimpl.h | 816 +++++++++++++++++++++++++++-----
 1 file changed, 690 insertions(+), 126 deletions(-)

diff --git a/cpukit/include/rtems/score/threadimpl.h b/cpukit/include/rtems/score/threadimpl.h
index 75725aeb48..490c7c83e0 100644
--- a/cpukit/include/rtems/score/threadimpl.h
+++ b/cpukit/include/rtems/score/threadimpl.h
@@ -1,6 +1,8 @@
 /**
  * @file
  *
+ * @ingroup RTEMSScoreThread
+ *
  * @brief Inlined Routines from the Thread Handler
  *
  * This file contains the macro implementation of the inlined
@@ -43,8 +45,9 @@ extern "C" {
 
 /**
  * @addtogroup RTEMSScoreThread
+ *
+ * @{
  */
-/**@{**/
 
 /**
  *  The following structure contains the information necessary to manage
@@ -82,49 +85,62 @@ extern Thread_Control *_Thread_Allocated_fp;
 
 typedef bool ( *Thread_Visitor )( Thread_Control *the_thread, void *arg );
 
+/**
+ * @brief Calls the visitor with all threads and the given argument until
+ *      it is done.
+ *
+ * @param visitor Function that gets a thread and @a arg as parameters and
+ *      returns if it is done.
+ * @param arg Parameter for @a visitor
+ */
 void _Thread_Iterate(
   Thread_Visitor  visitor,
   void           *arg
 );
 
+/**
+ * @brief Initializes the thread information
+ *
+ * @param[out] information Information to initialize.
+ */
 void _Thread_Initialize_information( Thread_Information *information );
 
 /**
- *  @brief Initialize thread handler.
+ * @brief Initializes thread handler.
  *
- *  This routine performs the initialization necessary for this handler.
+ * This routine performs the initialization necessary for this handler.
  */
 void _Thread_Handler_initialization(void);
 
 /**
- *  @brief Create idle thread.
+ * @brief Creates idle thread.
  *
- *  This routine creates the idle thread.
+ * This routine creates the idle thread.
  *
- *  @warning No thread should be created before this one.
+ * @warning No thread should be created before this one.
  */
 void _Thread_Create_idle(void);
 
 /**
- *  @brief Start thread multitasking.
+ * @brief Starts thread multitasking.
  *
- *  This routine initiates multitasking.  It is invoked only as
- *  part of initialization and its invocation is the last act of
- *  the non-multitasking part of the system initialization.
+ * This routine initiates multitasking.  It is invoked only as
+ * part of initialization and its invocation is the last act of
+ * the non-multitasking part of the system initialization.
  */
 void _Thread_Start_multitasking( void ) RTEMS_NO_RETURN;
 
 /**
- *  @brief Allocate the requested stack space for the thread.
+ * @brief Allocates the requested stack space for the thread.
  *
- *  Allocate the requested stack space for the thread.
- *  Set the Start.stack field to the address of the stack.
+ * Allocate the requested stack space for the thread.
+ * Set the Start.stack field to the address of the stack.
  *
- *  @param[in] the_thread is the thread where the stack space is requested
- *  @param[in] stack_size is the stack space is requested
+ * @param[out] the_thread The thread where the stack space is requested.
+ * @param stack_size The stack space that is requested.
  *
- *  @retval actual size allocated after any adjustment
- *  @retval zero if the allocation failed
+ * @retval actual Size allocated after any adjustment.
+ * @retval zero The allocation failed.
  */
 size_t _Thread_Stack_Allocate(
   Thread_Control *the_thread,
@@ -132,26 +148,44 @@ size_t _Thread_Stack_Allocate(
 );
 
 /**
- *  @brief Deallocate thread stack.
+ * @brief Deallocates thread stack.
  *
- *  Deallocate the Thread's stack.
+ * Deallocate the Thread's stack.
+ *
+ * @param[out] the_thread The thread to deallocate the stack of.
  */
 void _Thread_Stack_Free(
   Thread_Control *the_thread
 );
 
 /**
- *  @brief Initialize thread.
+ * @brief Initializes thread.
+ *
+ * This routine initializes the specified the thread.  It allocates
+ * all memory associated with this thread.  It completes by adding
+ * the thread to the local object table so operations on this
+ * thread id are allowed.
  *
- *  This routine initializes the specified the thread.  It allocates
- *  all memory associated with this thread.  It completes by adding
- *  the thread to the local object table so operations on this
- *  thread id are allowed.
+ * @note If stack_area is NULL, it is allocated from the workspace.
  *
- *  @note If stack_area is NULL, it is allocated from the workspace.
+ * @note If the stack is allocated from the workspace, then it is
+ *       guaranteed to be of at least minimum size.
  *
- *  @note If the stack is allocated from the workspace, then it is
- *        guaranteed to be of at least minimum size.
+ * @param information The thread information.
+ * @param[out] the_thread The thread to initialize.
+ * @param scheduler The scheduler control instance for the thread.
+ * @param stack_area The starting address of the thread area.
+ * @param stack_size The size of the thread area in bytes.
+ * @param is_fp Indicates whether the thread needs a floating point area.
+ * @param priority The new thread's priority.
+ * @param is_preemptible Indicates whether the new thread is preemptible.
+ * @param budget_algorithm The thread's budget algorithm.
+ * @param budget_callout The thread's initial budget callout.
+ * @param isr_level The thread's initial isr level.
+ * @param name Name of the object for the thread.
+ *
+ * @retval true The thread initialization was successful.
+ * @retval false The thread initialization failed.
  */
 bool _Thread_Initialize(
   Thread_Information                   *information,
@@ -169,14 +203,14 @@ bool _Thread_Initialize(
 );
 
 /**
- *  @brief Initializes thread and executes it.
+ * @brief Initializes thread and executes it.
  *
- *  This routine initializes the executable information for a thread
- *  and makes it ready to execute.  After this routine executes, the
- *  thread competes with all other threads for CPU time.
+ * This routine initializes the executable information for a thread
+ * and makes it ready to execute.  After this routine executes, the
+ * thread competes with all other threads for CPU time.
  *
- *  @param the_thread The thread to be started.
- *  @param entry The thread entry information.
+ * @param the_thread The thread to be started.
+ * @param entry The thread entry information.
  */
 bool _Thread_Start(
   Thread_Control                 *the_thread,
@@ -184,26 +218,67 @@ bool _Thread_Start(
   ISR_lock_Context               *lock_context
 );
 
+/**
+ * @brief Restarts the currently executing thread.
+ *
+ * @param[in, out] executing The currently executing thread.
+ * @param entry The start entry information for @a executing.
+ * @param lock_context The lock context.
+ */
 void _Thread_Restart_self(
   Thread_Control                 *executing,
   const Thread_Entry_information *entry,
   ISR_lock_Context               *lock_context
 ) RTEMS_NO_RETURN;
 
+/**
+ * @brief Restarts the thread.
+ *
+ * @param[in, out] the_thread The thread to restart.
+ * @param entry The start entry information for @a the_thread.
+ * @param lock_context The lock context.
+ *
+ * @retval true The operation was successful.
+ * @retval false The operation failed.
+ */
 bool _Thread_Restart_other(
   Thread_Control                 *the_thread,
   const Thread_Entry_information *entry,
   ISR_lock_Context               *lock_context
 );
 
+/**
+ * @brief Yields the currently executing thread.
+ *
+ * @param[in, out] executing The thread that performs a yield.
+ */
 void _Thread_Yield( Thread_Control *executing );
 
+/**
+ * @brief Changes the currently executing thread to a new state with the sets.
+ *
+ * @param clear States to clear.
+ * @param set States to set.
+ * @param ignore States to ignore.
+ *
+ * @return The previous state the thread was in.
+ */
 Thread_Life_state _Thread_Change_life(
   Thread_Life_state clear,
   Thread_Life_state set,
   Thread_Life_state ignore
 );
 
+/**
+ * @brief Set the thread to life protected.
+ *
+ * Calls _Thread_Change_life with the given state AND THREAD_LIFE_PROTECTED to
+ * set and THREAD_LIFE_PROTECTED to clear.
+ *
+ * @param state The states to set.
+ *
+ * @return The previous state the thread was in.
+ */
 Thread_Life_state _Thread_Set_life_protection( Thread_Life_state state );
 
 /**
@@ -217,12 +292,28 @@ Thread_Life_state _Thread_Set_life_protection( Thread_Life_state state );
  */
 void _Thread_Kill_zombies( void );
 
+/**
+ * @brief Exits the currently executing thread.
+ *
+ * @param[in, out] executing The currently executing thread.
+ * @param set The states to set.
+ * @param[out] exit_value Contains the exit value of the thread.
+ */
 void _Thread_Exit(
   Thread_Control    *executing,
   Thread_Life_state  set,
   void              *exit_value
 );
 
+/**
+ * @brief Joins the currently executing thread with the given thread to wait
+ *      for.
+ *
+ * @param[in, out] the_thread The thread to wait for.
+ * @param waiting_for_join The states control for the join.
+ * @param[in, out] executing The currently executing thread.
+ * @param queue_context The thread queue context.
+ */
 void _Thread_Join(
   Thread_Control       *the_thread,
   States_Control        waiting_for_join,
@@ -230,6 +321,13 @@ void _Thread_Join(
   Thread_queue_Context *queue_context
 );
 
+/**
+ * @brief Cancels the thread.
+ *
+ * @param[in, out] the_thread The thread to cancel.
+ * @param executing The currently executing thread.
+ * @param exit_value The exit value for the thread.
+ */
 void _Thread_Cancel(
   Thread_Control *the_thread,
   Thread_Control *executing,
@@ -247,6 +345,10 @@ typedef struct {
  * Closes the thread object and starts the thread termination sequence.  In
  * case the executing thread is not terminated, then this function waits until
  * the terminating thread reached the zombie state.
+ *
+ * @param the_thread The thread to close.
+ * @param executing The currently executing thread.
+ * @param[in, out] context The thread close context.
  */
 void _Thread_Close(
   Thread_Control       *the_thread,
@@ -254,11 +356,30 @@ void _Thread_Close(
   Thread_Close_context *context
 );
 
+/**
+ * @brief Checks if the thread is ready.
+ *
+ * @param the_thread The thread to check if it is ready.
+ *
+ * @retval true The thread is currently in the ready state.
+ * @retval false The thread is currently not ready.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_ready( const Thread_Control *the_thread )
 {
   return _States_Is_ready( the_thread->current_state );
 }
 
+/**
+ * @brief Clears the specified thread state without locking the lock context.
+ *
+ * In the case the previous state is a non-ready state and the next state is
+ * the ready state, then the thread is unblocked by the scheduler.
+ *
+ * @param[in, out] the_thread The thread.
+ * @param state The state to clear.  It must not be zero.
+ *
+ * @return The thread's previous state.
+ */
 States_Control _Thread_Clear_state_locked(
   Thread_Control *the_thread,
   States_Control  state
@@ -267,11 +388,11 @@ States_Control _Thread_Clear_state_locked(
 /**
  * @brief Clears the specified thread state.
  *
- * In case the previous state is a non-ready state and the next state is the
- * ready state, then the thread is unblocked by the scheduler.
+ * In the case the previous state is a non-ready state and the next state is
+ * the ready state, then the thread is unblocked by the scheduler.
  *
- * @param[in] the_thread The thread.
- * @param[in] state The state to clear.  It must not be zero.
+ * @param[in, out] the_thread The thread.
+ * @param state The state to clear.  It must not be zero.
  *
  * @return The previous state.
  */
@@ -280,6 +401,17 @@ States_Control _Thread_Clear_state(
   States_Control  state
 );
 
+/**
+ * @brief Sets the specified thread state without locking the lock context.
+ *
+ * In the case the previous state is the ready state, then the thread is blocked
+ * by the scheduler.
+ *
+ * @param[in, out] the_thread The thread.
+ * @param state The state to set.  It must not be zero.
+ *
+ * @return The previous state.
+ */
 States_Control _Thread_Set_state_locked(
   Thread_Control *the_thread,
   States_Control  state
@@ -288,11 +420,11 @@ States_Control _Thread_Set_state_locked(
 /**
  * @brief Sets the specified thread state.
  *
- * In case the previous state is the ready state, then the thread is blocked by
- * the scheduler.
+ * In the case the previous state is the ready state, then the thread is blocked
+ * by the scheduler.
  *
- * @param[in] the_thread The thread.
- * @param[in] state The state to set.  It must not be zero.
+ * @param[in, out] the_thread The thread.
+ * @param state The state to set.  It must not be zero.
  *
  * @return The previous state.
  */
@@ -302,40 +434,63 @@ States_Control _Thread_Set_state(
 );
 
 /**
- *  @brief Initializes enviroment for a thread.
+ * @brief Initializes enviroment for a thread.
  *
- *  This routine initializes the context of @a the_thread to its
- *  appropriate starting state.
+ * This routine initializes the context of @a the_thread to its
+ * appropriate starting state.
  *
- *  @param[in] the_thread is the pointer to the thread control block.
+ * @param[in, out] the_thread The pointer to the thread control block.
  */
 void _Thread_Load_environment(
   Thread_Control *the_thread
 );
 
+/**
+ * @brief Calls the start kinds idle entry of the thread.
+ *
+ * @param executing The currently executing thread.
+ */
 void _Thread_Entry_adaptor_idle( Thread_Control *executing );
 
+/**
+ * @brief Calls the start kinds numeric entry of the thread.
+ *
+ * @param executing The currently executing thread.
+ */
 void _Thread_Entry_adaptor_numeric( Thread_Control *executing );
 
+/**
+ * @brief Calls the start kinds pointer entry of the thread.
+ *
+ * Stores the return value in the Wait.return_argument of the thread.
+ *
+ * @param executing The currently executing thread.
+ */
 void _Thread_Entry_adaptor_pointer( Thread_Control *executing );
 
 /**
- *  @brief Wrapper function for all threads.
+ * @brief Wrapper function for all threads.
  *
- *  This routine is the wrapper function for all threads.  It is
- *  the starting point for all threads.  The user provided thread
- *  entry point is invoked by this routine.  Operations
- *  which must be performed immediately before and after the user's
- *  thread executes are found here.
+ * This routine is the wrapper function for all threads.  It is
+ * the starting point for all threads.  The user provided thread
+ * entry point is invoked by this routine.  Operations
+ * which must be performed immediately before and after the user's
+ * thread executes are found here.
  *
- *  @note On entry, it is assumed all interrupts are blocked and that this
- *  routine needs to set the initial isr level.  This may or may not
- *  actually be needed by the context switch routine and as a result
- *  interrupts may already be at there proper level.  Either way,
- *  setting the initial isr level properly here is safe.
+ * @note On entry, it is assumed all interrupts are blocked and that this
+ * routine needs to set the initial isr level.  This may or may not
+ * actually be needed by the context switch routine and as a result
+ * interrupts may already be at there proper level.  Either way,
+ * setting the initial isr level properly here is safe.
  */
 void _Thread_Handler( void );
 
+/**
+ * @brief Acquires the lock context in a critical section.
+ *
+ * @param the_thread The thread to acquire the lock context.
+ * @param lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_State_acquire_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -344,6 +499,12 @@ RTEMS_INLINE_ROUTINE void _Thread_State_acquire_critical(
   _Thread_queue_Do_acquire_critical( &the_thread->Join_queue, lock_context );
 }
 
+/**
+ * @brief Disables interrupts and acquires the lock_context.
+ *
+ * @param the_thread The thread to acquire the lock context.
+ * @param lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_State_acquire(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -353,6 +514,14 @@ RTEMS_INLINE_ROUTINE void _Thread_State_acquire(
   _Thread_State_acquire_critical( the_thread, lock_context );
 }
 
+/**
+ * @brief Disables interrupts and acquires the lock context for the currently
+ *      executing thread.
+ *
+ * @param lock_context The lock context.
+ *
+ * @return The currently executing thread.
+ */
 RTEMS_INLINE_ROUTINE Thread_Control *_Thread_State_acquire_for_executing(
   ISR_lock_Context *lock_context
 )
@@ -366,6 +535,12 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_State_acquire_for_executing(
   return executing;
 }
 
+/**
+ * @brief Release the lock context in a critical section.
+ *
+ * @param the_thread The thread to release the lock context.
+ * @param lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_State_release_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -374,6 +549,12 @@ RTEMS_INLINE_ROUTINE void _Thread_State_release_critical(
   _Thread_queue_Do_release_critical( &the_thread->Join_queue, lock_context );
 }
 
+/**
+ * @brief Releases the lock context and enables interrupts.
+ *
+ * @param[in, out] the_thread The thread to release the lock context.
+ * @param[out] lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_State_release(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -383,6 +564,14 @@ RTEMS_INLINE_ROUTINE void _Thread_State_release(
   _ISR_lock_ISR_enable( lock_context );
 }
 
+/**
+ * @brief Checks if the thread is owner of the lock of the join queue.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true The thread is owner of the lock of the join queue.
+ * @retval false The thread is not owner of the lock of the join queue.
+ */
 #if defined(RTEMS_DEBUG)
 RTEMS_INLINE_ROUTINE bool _Thread_State_is_owner(
   const Thread_Control *the_thread
@@ -458,7 +647,7 @@ void _Thread_Priority_remove(
  * The caller must be the owner of the thread wait lock.
  *
  * @param the_thread The thread.
- * @param priority_node The thread priority node to change.
+ * @param[out] priority_node The thread priority node to change.
  * @param prepend_it In case this is true, then the thread is prepended to
  *   its priority group in its home scheduler instance, otherwise it is
  *   appended.
@@ -483,7 +672,7 @@ void _Thread_Priority_changed(
  * The caller must be the owner of the thread wait lock.
  *
  * @param the_thread The thread.
- * @param priority_node The thread priority node to change.
+ * @param[out] priority_node The thread priority node to change.
  * @param new_priority The new thread priority value of the thread priority
  *   node to change.
  * @param prepend_it In case this is true, then the thread is prepended to
@@ -532,13 +721,8 @@ void _Thread_Priority_replace(
 );
 
 /**
- * @brief Adds a priority node to the corresponding thread priority
- * aggregation.
- *
- * The caller must be the owner of the thread wait lock.
+ * @brief Updates the priority of all threads in the set
  *
- * @param the_thread The thread.
- * @param priority_node The thread priority node to add.
  * @param queue_context The thread queue context to return an updated set of
  *   threads for _Thread_Priority_update().  The thread queue context must be
  *   initialized via _Thread_queue_Context_clear_priority_updates() before a
@@ -549,6 +733,12 @@ void _Thread_Priority_replace(
  */
 void _Thread_Priority_update( Thread_queue_Context *queue_context );
 
+/**
+ * @brief Updates the priority of the thread and changes it sticky level.
+ *
+ * @param the_thread The thread.
+ * @param sticky_level_change The new value for the sticky level.
+ */
 #if defined(RTEMS_SMP)
 void _Thread_Priority_and_sticky_update(
   Thread_Control *the_thread,
@@ -557,8 +747,14 @@ void _Thread_Priority_and_sticky_update(
 #endif
 
 /**
- * @brief Returns true if the left thread priority is less than the right
- * thread priority in the intuitive sense of priority and false otherwise.
+ * @brief Checks if the left thread priority is less than the right thread
+ *      priority in the intuitive sense of priority.
+ *
+ * @param left The left thread priority.
+ * @param right The right thread priority.
+ *
+ * @retval true The left priority is less in the intuitive sense.
+ * @retval false The left priority is greater or equal in the intuitive sense.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Priority_less_than(
   Priority_Control left,
@@ -571,6 +767,11 @@ RTEMS_INLINE_ROUTINE bool _Thread_Priority_less_than(
 /**
  * @brief Returns the highest priority of the left and right thread priorities
  * in the intuitive sense of priority.
+ *
+ * @param left The left thread priority.
+ * @param right The right thread priority.
+ *
+ * @return The highest priority in the intuitive sense of priority.
  */
 RTEMS_INLINE_ROUTINE Priority_Control _Thread_Priority_highest(
   Priority_Control left,
@@ -580,6 +781,14 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Priority_highest(
   return _Thread_Priority_less_than( left, right ) ? right : left;
 }
 
+/**
+ * @brief Gets object information for the object id.
+ *
+ * @param id The id of the object information.
+ *
+ * @retval pointer The object information for this id.
+ * @retval NULL The object id is not valid.
+ */
 RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information(
   Objects_Id id
 )
@@ -605,12 +814,22 @@ RTEMS_INLINE_ROUTINE Objects_Information *_Thread_Get_objects_information(
  * @brief Gets a thread by its identifier.
  *
  * @see _Objects_Get().
+ *
+ * @param id The id of the thread.
+ * @param lock_context The lock context.
  */
 Thread_Control *_Thread_Get(
   Objects_Id         id,
   ISR_lock_Context  *lock_context
 );
 
+/**
+ * @brief Gets the cpu of the thread's scheduler.
+ *
+ * @param thread The thread.
+ *
+ * @return The cpu of the thread's scheduler.
+ */
 RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Get_CPU(
   const Thread_Control *thread
 )
@@ -624,6 +843,12 @@ RTEMS_INLINE_ROUTINE Per_CPU_Control *_Thread_Get_CPU(
 #endif
 }
 
+/**
+ * @brief Sets the cpu of the thread's scheduler.
+ *
+ * @param[out] thread The thread.
+ * @param cpu The cpu to set.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Set_CPU(
   Thread_Control *thread,
   Per_CPU_Control *cpu
@@ -638,10 +863,16 @@ RTEMS_INLINE_ROUTINE void _Thread_Set_CPU(
 }
 
 /**
+ * @brief Checks if the thread is the currently executing thread.
+ *
  * This function returns true if the_thread is the currently executing
  * thread, and false otherwise.
+ *
+ * @param the_thread The thread to verify if it is the currently executing thread.
+ *
+ * @retval true @a the_thread is the currently executing one.
+ * @retval false @a the_thread is not the currently executing one.
  */
-
 RTEMS_INLINE_ROUTINE bool _Thread_Is_executing (
   const Thread_Control *the_thread
 )
@@ -651,11 +882,16 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing (
 
 #if defined(RTEMS_SMP)
 /**
- * @brief Returns @a true in case the thread executes currently on some
- * processor in the system, otherwise @a false.
+ * @brief Checks if the thread executes currently on some processor in the
+ * system.
  *
  * Do not confuse this with _Thread_Is_executing() which checks only the
  * current processor.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true @a the_thread is the currently executing one.
+ * @retval false @a the_thread is not the currently executing one.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_on_a_processor(
   const Thread_Control *the_thread
@@ -666,10 +902,16 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_executing_on_a_processor(
 #endif
 
 /**
+ * @brief Checks if the thread is the heir.
+ *
  * This function returns true if the_thread is the heir
  * thread, and false otherwise.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true @a the_thread is the heir.
+ * @retval false @a the_thread is not the heir.
  */
-
 RTEMS_INLINE_ROUTINE bool _Thread_Is_heir (
   const Thread_Control *the_thread
 )
@@ -678,11 +920,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_heir (
 }
 
 /**
+ * @brief Unblocks the thread.
+ *
  * This routine clears any blocking state for the_thread.  It performs
  * any necessary scheduling operations including the selection of
  * a new heir thread.
+ *
+ * @param[in, out] the_thread The thread to unblock.
  */
-
 RTEMS_INLINE_ROUTINE void _Thread_Unblock (
   Thread_Control *the_thread
 )
@@ -691,11 +936,20 @@ RTEMS_INLINE_ROUTINE void _Thread_Unblock (
 }
 
 /**
+ * @brief Checks if the floating point context of the thread is currently
+ *      loaded in the floating point unit.
+ *
  * This function returns true if the floating point context of
  * the_thread is currently loaded in the floating point unit, and
  * false otherwise.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true The floating point context of @a the_thread is currently
+ *      loaded in the floating point unit.
+ * @retval false The floating point context of @a the_thread is currently not
+ *      loaded in the floating point unit.
  */
-
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
 RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (
   const Thread_Control *the_thread
@@ -706,18 +960,23 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_allocated_fp (
 #endif
 
 /*
- *  If the CPU has hardware floating point, then we must address saving
- *  and restoring it as part of the context switch.
+ * If the CPU has hardware floating point, then we must address saving
+ * and restoring it as part of the context switch.
  *
- *  The second conditional compilation section selects the algorithm used
- *  to context switch between floating point tasks.  The deferred algorithm
- *  can be significantly better in a system with few floating point tasks
- *  because it reduces the total number of save and restore FP context
- *  operations.  However, this algorithm can not be used on all CPUs due
- *  to unpredictable use of FP registers by some compilers for integer
- *  operations.
+ * The second conditional compilation section selects the algorithm used
+ * to context switch between floating point tasks.  The deferred algorithm
+ * can be significantly better in a system with few floating point tasks
+ * because it reduces the total number of save and restore FP context
+ * operations.  However, this algorithm can not be used on all CPUs due
+ * to unpredictable use of FP registers by some compilers for integer
+ * operations.
  */
 
+/**
+ * @brief Saves the executing thread's floating point area.
+ *
+ * @param executing The currently executing thread.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Save_fp( Thread_Control *executing )
 {
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
@@ -728,6 +987,11 @@ RTEMS_INLINE_ROUTINE void _Thread_Save_fp( Thread_Control *executing )
 #endif
 }
 
+/**
+ * @brief Restores the executing thread's floating point area.
+ *
+ * @param executing The currently executing thread.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Restore_fp( Thread_Control *executing )
 {
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
@@ -747,10 +1011,11 @@ RTEMS_INLINE_ROUTINE void _Thread_Restore_fp( Thread_Control *executing )
 }
 
 /**
+ * @brief Deallocates the currently loaded floating point context.
+ *
  * This routine is invoked when the currently loaded floating
  * point context is now longer associated with an active thread.
  */
-
 #if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
 RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
 {
@@ -759,19 +1024,27 @@ RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
 #endif
 
 /**
+ * @brief Checks if dispatching is disabled.
+ *
  * This function returns true if dispatching is disabled, and false
  * otherwise.
+ *
+ * @retval true Dispatching is disabled.
+ * @retval false Dispatching is enabled.
  */
-
 RTEMS_INLINE_ROUTINE bool _Thread_Is_context_switch_necessary( void )
 {
   return ( _Thread_Dispatch_necessary );
 }
 
 /**
- * This function returns true if the_thread is NULL and false otherwise.
+ * @brief Checks if the thread is NULL.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true The thread is @c NULL.
+ * @retval false The thread is not @c NULL.
  */
-
 RTEMS_INLINE_ROUTINE bool _Thread_Is_null (
   const Thread_Control *the_thread
 )
@@ -780,9 +1053,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_null (
 }
 
 /**
- * @brief Is proxy blocking.
+ * @brief Checks if proxy is blocking.
  *
  * status which indicates that a proxy is blocking, and false otherwise.
+ *
+ * @param code The code for the verification.
+ *
+ * @retval true Status indicates that a proxy is blocking.
+ * @retval false Status indicates that a proxy is not blocking.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_proxy_blocking (
   uint32_t   code
@@ -791,6 +1069,11 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_proxy_blocking (
   return (code == THREAD_STATUS_PROXY_BLOCKING);
 }
 
+/**
+ * @brief Gets the maximum number of internal threads.
+ *
+ * @return The maximum number of internal threads.
+ */
 RTEMS_INLINE_ROUTINE uint32_t _Thread_Get_maximum_internal_threads(void)
 {
   /* Idle threads */
@@ -807,6 +1090,12 @@ RTEMS_INLINE_ROUTINE uint32_t _Thread_Get_maximum_internal_threads(void)
   return maximum_internal_threads;
 }
 
+/**
+ * @brief Allocates an internal thread and returns it.
+ *
+ * @retval pointer Pointer to the allocated Thread_Control.
+ * @retval NULL The operation failed.
+ */
 RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Internal_allocate( void )
 {
   return (Thread_Control *)
@@ -819,6 +1108,8 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Internal_allocate( void )
  * Must be called with interrupts disabled.  The thread dispatch necessary
  * indicator is cleared as a side-effect.
  *
+ * @param[in, out] cpu_self The processor to get the heir of.
+ *
  * @return The heir thread.
  *
  * @see _Thread_Dispatch(), _Thread_Start_multitasking() and
@@ -837,6 +1128,13 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Get_heir_and_make_it_executing(
   return heir;
 }
 
+/**
+ * @brief Updates the cpu time used of the thread.
+ *
+ * @param[in, out] the_thread The thread to add additional cpu time that is
+ *      used.
+ * @param cpu The cpu.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Update_CPU_time_used(
   Thread_Control  *the_thread,
   Per_CPU_Control *cpu
@@ -851,6 +1149,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Update_CPU_time_used(
   _Timestamp_Add_to( &the_thread->cpu_time_used, &ran );
 }
 
+/**
+ * @brief Updates the used cpu time for the heir and dispatches a new heir.
+ *
+ * @param[in, out] cpu_self The current processor.
+ * @param[in, out] cpu_for_heir The processor to do a dispatch on.
+ * @param heir The new heir for @a cpu_for_heir.
+ */
 #if defined( RTEMS_SMP )
 RTEMS_INLINE_ROUTINE void _Thread_Dispatch_update_heir(
   Per_CPU_Control *cpu_self,
@@ -866,11 +1171,23 @@ RTEMS_INLINE_ROUTINE void _Thread_Dispatch_update_heir(
 }
 #endif
 
+/**
+ * @brief Gets the used cpu time of the thread and stores it in the given
+ *      Timestamp_Control.
+ *
+ * @param the_thread The thread to get the used cpu time of.
+ * @param[out] cpu_time_used Stores the used cpu time of @a the_thread.
+ */
 void _Thread_Get_CPU_time_used(
   Thread_Control    *the_thread,
   Timestamp_Control *cpu_time_used
 );
 
+/**
+ * @brief Initializes the control chain of the action control.
+ *
+ * @param[out] action_control The action control to initialize.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Action_control_initialize(
   Thread_Action_control *action_control
 )
@@ -878,6 +1195,11 @@ RTEMS_INLINE_ROUTINE void _Thread_Action_control_initialize(
   _Chain_Initialize_empty( &action_control->Chain );
 }
 
+/**
+ * @brief Initializes the Thread action.
+ *
+ * @param[out] action The Thread_Action to initialize.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Action_initialize(
   Thread_Action *action
 )
@@ -885,6 +1207,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Action_initialize(
   _Chain_Set_off_chain( &action->Node );
 }
 
+/**
+ * @brief Adds a post switch action to the thread with the given handler.
+ *
+ * @param[in, out] the_thread The thread.
+ * @param[in,  out] action The action to add.
+ * @param handler The handler for the action.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Add_post_switch_action(
   Thread_Control        *the_thread,
   Thread_Action         *action,
@@ -907,6 +1236,14 @@ RTEMS_INLINE_ROUTINE void _Thread_Add_post_switch_action(
   );
 }
 
+/**
+ * @brief Checks if the thread life state is restarting.
+ *
+ * @param life_state The thread life state for the verification.
+ *
+ * @retval true @a life_state is restarting.
+ * @retval false @a life_state is not restarting.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_life_restarting(
   Thread_Life_state life_state
 )
@@ -914,6 +1251,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_restarting(
   return ( life_state & THREAD_LIFE_RESTARTING ) != 0;
 }
 
+/**
+ * @brief Checks if the thread life state is terminating.
+ *
+ * @param life_state The thread life state for the verification.
+ *
+ * @retval true @a life_state is terminating.
+ * @retval false @a life_state is not terminating.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_life_terminating(
   Thread_Life_state life_state
 )
@@ -921,6 +1266,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_terminating(
   return ( life_state & THREAD_LIFE_TERMINATING ) != 0;
 }
 
+/**
+ * @brief Checks if the thread life state allos life change.
+ *
+ * @param life_state The thread life state for the verification.
+ *
+ * @retval true @a life_state allows life change.
+ * @retval false @a life_state does not allow life change.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_life_change_allowed(
   Thread_Life_state life_state
 )
@@ -929,6 +1282,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_change_allowed(
     & ( THREAD_LIFE_PROTECTED | THREAD_LIFE_CHANGE_DEFERRED ) ) == 0;
 }
 
+/**
+ * @brief Checks if the thread life state is life changing.
+ *
+ * @param life_state The thread life state for the verification.
+ *
+ * @retval true @a life_state is life changing.
+ * @retval false @a life_state is not life changing.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_life_changing(
   Thread_Life_state life_state
 )
@@ -937,6 +1298,14 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_life_changing(
     & ( THREAD_LIFE_RESTARTING | THREAD_LIFE_TERMINATING ) ) != 0;
 }
 
+/**
+ * @brief Checks if the thread is joinable.
+ *
+ * @param the_thread The thread for the verification.
+ *
+ * @retval true @a life_state is joinable.
+ * @retval false @a life_state is not joinable.
+ */
 RTEMS_INLINE_ROUTINE bool _Thread_Is_joinable(
   const Thread_Control *the_thread
 )
@@ -945,6 +1314,11 @@ RTEMS_INLINE_ROUTINE bool _Thread_Is_joinable(
   return ( the_thread->Life.state & THREAD_LIFE_DETACHED ) == 0;
 }
 
+/**
+ * @brief Increments the thread's resource count.
+ *
+ * @param[in, out] the_thread The thread to increase the resource count of.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Resource_count_increment(
   Thread_Control *the_thread
 )
@@ -956,6 +1330,11 @@ RTEMS_INLINE_ROUTINE void _Thread_Resource_count_increment(
 #endif
 }
 
+/**
+ * @brief Decrements the thread's resource count.
+ *
+ * @param[in, out] the_thread The thread to decrement the resource count of.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Resource_count_decrement(
   Thread_Control *the_thread
 )
@@ -969,12 +1348,15 @@ RTEMS_INLINE_ROUTINE void _Thread_Resource_count_decrement(
 
 #if defined(RTEMS_SCORE_THREAD_ENABLE_RESOURCE_COUNT)
 /**
- * @brief Returns true if the thread owns resources, and false otherwise.
+ * @brief Checks if the thread owns resources.
  *
  * Resources are accounted with the Thread_Control::resource_count resource
  * counter.  This counter is used by mutex objects for example.
  *
- * @param[in] the_thread The thread.
+ * @param the_thread The thread.
+ *
+ * @retval true The thread owns resources.
+ * @retval false The thread does not own resources.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Owns_resources(
   const Thread_Control *the_thread
@@ -985,6 +1367,13 @@ RTEMS_INLINE_ROUTINE bool _Thread_Owns_resources(
 #endif
 
 #if defined(RTEMS_SMP)
+/**
+ * @brief Cancels the thread's need for help.
+ *
+ * @param the_thread The thread to cancel the help request of.
+ * @param cpu The cpu to get the lock context of in order to
+ *      cancel the help request.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_cancel_need_for_help(
   Thread_Control  *the_thread,
   Per_CPU_Control *cpu
@@ -1003,6 +1392,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_cancel_need_for_help(
 }
 #endif
 
+/**
+ * @brief Gets the home scheduler of the thread.
+ *
+ * @param the_thread The thread to get the home scheduler of.
+ *
+ * @return The thread's home scheduler.
+ */
 RTEMS_INLINE_ROUTINE const Scheduler_Control *_Thread_Scheduler_get_home(
   const Thread_Control *the_thread
 )
@@ -1015,6 +1411,13 @@ RTEMS_INLINE_ROUTINE const Scheduler_Control *_Thread_Scheduler_get_home(
 #endif
 }
 
+/**
+ * @brief Gets the scheduler's home node.
+ *
+ * @param the_thread The thread to get the home node of.
+ *
+ * @return The thread's home node.
+ */
 RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_home_node(
   const Thread_Control *the_thread
 )
@@ -1029,6 +1432,14 @@ RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_home_node(
 #endif
 }
 
+/**
+ * @brief Gets the thread's scheduler node by index.
+ *
+ * @param the_thread The thread of which to get a scheduler node.
+ * @param scheduler_index The index of the desired scheduler node.
+ *
+ * @return The scheduler node with the specified index.
+ */
 RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_node_by_index(
   const Thread_Control *the_thread,
   size_t                scheduler_index
@@ -1046,6 +1457,12 @@ RTEMS_INLINE_ROUTINE Scheduler_Node *_Thread_Scheduler_get_node_by_index(
 }
 
 #if defined(RTEMS_SMP)
+/**
+ * @brief Acquires the lock context in a critical section.
+ *
+ * @param the_thread The thread to acquire the lock context.
+ * @param lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_acquire_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -1054,6 +1471,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_acquire_critical(
   _ISR_lock_Acquire( &the_thread->Scheduler.Lock, lock_context );
 }
 
+/**
+ * @brief Releases the lock context in a critical section.
+ *
+ * @param the_thread The thread to release the lock context.
+ * @param lock_context The lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_release_critical(
   Thread_Control   *the_thread,
   ISR_lock_Context *lock_context
@@ -1062,8 +1485,20 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_release_critical(
   _ISR_lock_Release( &the_thread->Scheduler.Lock, lock_context );
 }
 
+/**
+ * @brief Process the thread's scheduler requests.
+ *
+ * @param[in, out] the_thread The thread for the operation.
+ */
 void _Thread_Scheduler_process_requests( Thread_Control *the_thread );
 
+/**
+ * @brief Add a scheduler request to the thread.
+ *
+ * @param[in, out] the_thread The thread to add a scheduler request to.
+ * @param[in, out] scheduler_node The scheduler node for the request.
+ * @param request The request to add.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_request(
   Thread_Control         *the_thread,
   Scheduler_Node         *scheduler_node,
@@ -1100,6 +1535,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_request(
   _Thread_Scheduler_release_critical( the_thread, &lock_context );
 }
 
+/**
+ * @brief Adds a wait node to the thread and adds a corresponding
+ *      request to the thread.
+ *
+ * @param[in, out] the_thread The thread to add the wait node to.
+ * @param scheduler_node The scheduler node which provides the wait node.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_wait_node(
   Thread_Control *the_thread,
   Scheduler_Node *scheduler_node
@@ -1116,6 +1558,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_add_wait_node(
   );
 }
 
+/**
+ * @brief Remove a wait node from the thread and add a corresponding request to
+ *      it.
+ *
+ * @param the_thread The thread to add the request to remove a wait node.
+ * @param scheduler_node The scheduler node to remove a wait node from.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Scheduler_remove_wait_node(
   Thread_Control *the_thread,
   Scheduler_Node *scheduler_node
@@ -1137,6 +1586,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Scheduler_remove_wait_node(
  * This includes temporary thread priority adjustments due to locking
  * protocols, a job release or the POSIX sporadic server for example.
  *
+ * @param the_thread The thread of which to get the priority.
+ *
  * @return The priority of the thread.
  */
 RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_priority(
@@ -1153,8 +1604,8 @@ RTEMS_INLINE_ROUTINE Priority_Control _Thread_Get_priority(
  * @brief Acquires the thread wait default lock inside a critical section
  * (interrupts disabled).
  *
- * @param[in] the_thread The thread.
- * @param[in] lock_context The lock context used for the corresponding lock
+ * @param[in, out] the_thread The thread.
+ * @param lock_context The lock context used for the corresponding lock
  *   release.
  *
  * @see _Thread_Wait_release_default_critical().
@@ -1171,7 +1622,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default_critical(
  * @brief Acquires the thread wait default lock and returns the executing
  * thread.
  *
- * @param[in] lock_context The lock context used for the corresponding lock
+ * @param lock_context The lock context used for the corresponding lock
  *   release.
  *
  * @return The executing thread.
@@ -1194,8 +1645,8 @@ RTEMS_INLINE_ROUTINE Thread_Control *_Thread_Wait_acquire_default_for_executing(
 /**
  * @brief Acquires the thread wait default lock and disables interrupts.
  *
- * @param[in] the_thread The thread.
- * @param[in] lock_context The lock context used for the corresponding lock
+ * @param[in, out] the_thread The thread.
+ * @param[out] lock_context The lock context used for the corresponding lock
  *   release.
  *
  * @see _Thread_Wait_release_default().
@@ -1215,8 +1666,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_default(
  *
  * The previous interrupt status is not restored.
  *
- * @param[in] the_thread The thread.
- * @param[in] lock_context The lock context used for the corresponding lock
+ * @param[in, out] the_thread The thread.
+ * @param lock_context The lock context used for the corresponding lock
  *   acquire.
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default_critical(
@@ -1231,8 +1682,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default_critical(
  * @brief Releases the thread wait default lock and restores the previous
  * interrupt status.
  *
- * @param[in] the_thread The thread.
- * @param[in] lock_context The lock context used for the corresponding lock
+ * @param[in, out] the_thread The thread.
+ * @param[out] lock_context The lock context used for the corresponding lock
  *   acquire.
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default(
@@ -1248,6 +1699,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_default(
 #define THREAD_QUEUE_CONTEXT_OF_REQUEST( node ) \
   RTEMS_CONTAINER_OF( node, Thread_queue_Context, Lock_context.Wait.Gate.Node )
 
+/**
+ * @brief Removes the first pending wait lock request.
+ *
+ * @param the_thread The thread to remove the request from.
+ * @param queue_lock_context The queue lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request_locked(
   Thread_Control            *the_thread,
   Thread_queue_Lock_context *queue_lock_context
@@ -1263,6 +1720,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request_locked(
   }
 }
 
+/**
+ * @brief Acquires the wait queue inside a critical section.
+ *
+ * @param queue The queue that acquires.
+ * @param queue_lock_context The queue lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_queue_critical(
   Thread_queue_Queue        *queue,
   Thread_queue_Lock_context *queue_lock_context
@@ -1275,6 +1738,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_queue_critical(
   );
 }
 
+/**
+ * @brief Releases the wait queue inside a critical section.
+ *
+ * @param queue The queue that releases.
+ * @param queue_lock_context The queue lock context.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_release_queue_critical(
   Thread_queue_Queue        *queue,
   Thread_queue_Lock_context *queue_lock_context
@@ -1291,8 +1760,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_queue_critical(
  * @brief Acquires the thread wait lock inside a critical section (interrupts
  * disabled).
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_context The thread queue context for the corresponding
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue_context The thread queue context for the corresponding
  *   _Thread_Wait_release_critical().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_critical(
@@ -1347,8 +1816,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire_critical(
 /**
  * @brief Acquires the thread wait default lock and disables interrupts.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_context The thread queue context for the corresponding
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue_context The thread queue context for the corresponding
  *   _Thread_Wait_release().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire(
@@ -1366,8 +1835,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_acquire(
  *
  * The previous interrupt status is not restored.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_context The thread queue context used for corresponding
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire_critical().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_release_critical(
@@ -1408,8 +1877,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release_critical(
  * @brief Releases the thread wait lock and restores the previous interrupt
  * status.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_context The thread queue context used for corresponding
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_release(
@@ -1430,8 +1899,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_release(
  * done after the deadlock detection.  This is crucial to support timeouts on
  * SMP configurations.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue The new thread queue.
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue The new thread queue.
  *
  * @see _Thread_Wait_claim_finalize() and _Thread_Wait_restore_default().
  */
@@ -1461,8 +1930,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_claim(
  * @brief Finalizes the thread wait queue claim via registration of the
  * corresponding thread queue operations.
  *
- * @param[in] the_thread The thread.
- * @param[in] operations The corresponding thread queue operations.
+ * @param[in, out] the_thread The thread.
+ * @param operations The corresponding thread queue operations.
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_claim_finalize(
   Thread_Control                *the_thread,
@@ -1479,8 +1948,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_claim_finalize(
  *
  * On other configurations, this function does nothing.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_lock_context The thread queue lock context used for
+ * @param[in, out] the_thread The thread.
+ * @param[in, out] queue_lock_context The thread queue lock context used for
  *   corresponding _Thread_Wait_acquire().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request(
@@ -1508,7 +1977,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_remove_request(
  * On SMP configurations, the pending requests are updated to use the stale
  * thread queue operations.
  *
- * @param[in] the_thread The thread.
+ * @param[in, out] the_thread The thread.
  *
  * @see _Thread_Wait_claim().
  */
@@ -1569,7 +2038,7 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_restore_default(
  *  - the default wait state is restored or some other processor is about to do
  *    this.
  *
- * @param[in] the_thread The thread.
+ * @param the_thread The thread.
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_tranquilize(
   Thread_Control *the_thread
@@ -1585,8 +2054,8 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_tranquilize(
 /**
  * @brief Cancels a thread wait on a thread queue.
  *
- * @param[in] the_thread The thread.
- * @param[in] queue_context The thread queue context used for corresponding
+ * @param[in, out] the_thread The thread.
+ * @param queue_context The thread queue context used for corresponding
  *   _Thread_Wait_acquire().
  */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_cancel(
@@ -1673,6 +2142,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_cancel(
  */
 #define THREAD_WAIT_CLASS_PERIOD 0x800U
 
+/**
+ * @brief Sets the thread's wait flags.
+ *
+ * @param[in, out] the_thread The thread to set the wait flags of.
+ * @param flags The flags to set.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Wait_flags_set(
   Thread_Control    *the_thread,
   Thread_Wait_flags  flags
@@ -1685,6 +2160,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Wait_flags_set(
 #endif
 }
 
+/**
+ * @brief Gets the thread's wait flags according to the ATOMIC_ORDER_RELAXED.
+ *
+ * @param the_thread The thread to get the wait flags of.
+ *
+ * @return The thread's wait flags.
+ */
 RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get(
   const Thread_Control *the_thread
 )
@@ -1696,6 +2178,13 @@ RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get(
 #endif
 }
 
+/**
+ * @brief Gets the thread's wait flags according to the ATOMIC_ORDER_ACQUIRE.
+ *
+ * @param the_thread The thread to get the wait flags of.
+ *
+ * @return The thread's wait flags.
+ */
 RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get_acquire(
   const Thread_Control *the_thread
 )
@@ -1716,12 +2205,12 @@ RTEMS_INLINE_ROUTINE Thread_Wait_flags _Thread_Wait_flags_get_acquire(
  * In case the wait flags are equal to the expected wait flags, then the wait
  * flags are set to the desired wait flags.
  *
- * @param[in] the_thread The thread.
- * @param[in] expected_flags The expected wait flags.
- * @param[in] desired_flags The desired wait flags.
+ * @param the_thread The thread.
+ * @param expected_flags The expected wait flags.
+ * @param desired_flags The desired wait flags.
  *
  * @retval true The wait flags were equal to the expected wait flags.
- * @retval false Otherwise.
+ * @retval false The wait flags were not equal to the expected wait flags.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_release(
   Thread_Control    *the_thread,
@@ -1756,12 +2245,12 @@ RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_release(
  * In case the wait flags are equal to the expected wait flags, then the wait
  * flags are set to the desired wait flags.
  *
- * @param[in] the_thread The thread.
- * @param[in] expected_flags The expected wait flags.
- * @param[in] desired_flags The desired wait flags.
+ * @param the_thread The thread.
+ * @param expected_flags The expected wait flags.
+ * @param desired_flags The desired wait flags.
  *
  * @retval true The wait flags were equal to the expected wait flags.
- * @retval false Otherwise.
+ * @retval false The wait flags were not equal to the expected wait flags.
  */
 RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_acquire(
   Thread_Control    *the_thread,
@@ -1801,6 +2290,8 @@ RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_acquire(
  * This function may be used for debug and system information purposes.  The
  * caller must be the owner of the thread lock.
  *
+ * @param the_thread The thread.
+ *
  * @retval 0 The thread waits on no thread queue currently, the thread wait
  *   queue is not contained in an object, or the current thread state provides
  *   insufficient information, e.g. the thread is in the middle of a blocking
@@ -1810,6 +2301,11 @@ RTEMS_INLINE_ROUTINE bool _Thread_Wait_flags_try_change_acquire(
  */
 Objects_Id _Thread_Wait_get_id( const Thread_Control *the_thread );
 
+/**
+ * @brief Get the status of the wait return code of the thread.
+ *
+ * @param the_thread The thread to get the status of the wait return code of.
+ */
 RTEMS_INLINE_ROUTINE Status_Control _Thread_Wait_get_status(
   const Thread_Control *the_thread
 )
@@ -1826,18 +2322,24 @@ RTEMS_INLINE_ROUTINE Status_Control _Thread_Wait_get_status(
  *
  * A specialization of this function is _Thread_Timeout().
  *
- * @param[in] the_thread The thread.
- * @param[in] status The thread wait status.
+ * @param[in, out] the_thread The thread.
+ * @param status The thread wait status.
  */
 void _Thread_Continue( Thread_Control *the_thread, Status_Control status );
 
 /**
  * @brief General purpose thread wait timeout.
  *
- * @param[in] the_watchdog The thread timer watchdog.
+ * @param the_watchdog The thread timer watchdog.
  */
 void _Thread_Timeout( Watchdog_Control *the_watchdog );
 
+/**
+ * @brief Initializes the thread timer.
+ *
+ * @param [in, out] timer The timer to initialize.
+ * @param cpu The cpu for the operation.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Timer_initialize(
   Thread_Timer_information *timer,
   Per_CPU_Control          *cpu
@@ -1848,6 +2350,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_initialize(
   _Watchdog_Preinitialize( &timer->Watchdog, cpu );
 }
 
+/**
+ * @brief Adds timeout ticks to the thread.
+ *
+ * @param[in, out] the_thread The thread to add the timeout ticks to.
+ * @param cpu The cpu for the operation.
+ * @param ticks The ticks to add to the timeout ticks.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Add_timeout_ticks(
   Thread_Control    *the_thread,
   Per_CPU_Control   *cpu,
@@ -1866,6 +2375,14 @@ RTEMS_INLINE_ROUTINE void _Thread_Add_timeout_ticks(
   _ISR_lock_Release_and_ISR_enable( &the_thread->Timer.Lock, &lock_context );
 }
 
+/**
+ * @brief Inserts the cpu's watchdog realtime into the thread's timer.
+ *
+ * @param[in, out] the_thread for the operation.
+ * @param cpu The cpu to get the watchdog header from.
+ * @param routine The watchdog routine for the thread.
+ * @param expire Expiration for the watchdog.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Timer_insert_realtime(
   Thread_Control                 *the_thread,
   Per_CPU_Control                *cpu,
@@ -1886,6 +2403,11 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_insert_realtime(
   _ISR_lock_Release_and_ISR_enable( &the_thread->Timer.Lock, &lock_context );
 }
 
+/**
+ * @brief Remove the watchdog timer from the thread.
+ *
+ * @param[in, out] the_thread The thread to remove the watchdog from.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Timer_remove( Thread_Control *the_thread )
 {
   ISR_lock_Context lock_context;
@@ -1905,6 +2427,13 @@ RTEMS_INLINE_ROUTINE void _Thread_Timer_remove( Thread_Control *the_thread )
   _ISR_lock_Release_and_ISR_enable( &the_thread->Timer.Lock, &lock_context );
 }
 
+/**
+ * @brief Remove the watchdog timer from the thread and unblock if necessary.
+ *
+ * @param[in, out] the_thread The thread to remove the watchdog from and unblock
+ *      if necessary.
+ * @param queue The thread queue.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Remove_timer_and_unblock(
   Thread_Control     *the_thread,
   Thread_queue_Queue *queue
@@ -1925,11 +2454,29 @@ RTEMS_INLINE_ROUTINE void _Thread_Remove_timer_and_unblock(
 #endif
 }
 
+/**
+ * @brief Sets the name of the thread.
+ *
+ * @param[out] the_thread  The thread to change the name of.
+ * @param name The new name for the thread.
+ *
+ * @retval STATUS_SUCCESSFUL The operation succeeded.
+ * @retval STATUS_RESULT_TOO_LARGE The name was too long.
+ */
 Status_Control _Thread_Set_name(
   Thread_Control *the_thread,
   const char     *name
 );
 
+/**
+ * @brief Gets the name of the thread.
+ *
+ * @param the_thread The thread to get the name of.
+ * @param[out] buffer Contains the thread's name.
+ * @param buffer_size The size of @a buffer.
+ *
+ * @return The number of bytes copied to @a buffer.
+ */
 size_t _Thread_Get_name(
   const Thread_Control *the_thread,
   char                 *buffer,
@@ -1941,12 +2488,23 @@ size_t _Thread_Get_name(
 
 #define THREAD_PIN_PREEMPTION 1
 
+/**
+ * @brief Unpins the thread.
+ *
+ * @param executing The currently executing thread.
+ * @param cpu_self The cpu for the operation.
+ */
 void _Thread_Do_unpin(
   Thread_Control  *executing,
   Per_CPU_Control *cpu_self
 );
 #endif
 
+/**
+ * @brief Pin the executing thread.
+ *
+ * @param executing The currently executing thread.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Pin( Thread_Control *executing )
 {
 #if defined(RTEMS_SMP)
@@ -1958,6 +2516,12 @@ RTEMS_INLINE_ROUTINE void _Thread_Pin( Thread_Control *executing )
 #endif
 }
 
+/**
+ * @brief Unpins the thread.
+ *
+ * @param executing The currently executing thread.
+ * @param cpu_self The cpu for the operation.
+ */
 RTEMS_INLINE_ROUTINE void _Thread_Unpin(
   Thread_Control  *executing,
   Per_CPU_Control *cpu_self
-- 
2.16.4




More information about the devel mailing list