RTEMS CPU Kit with SuperCore  4.11.3
Files | Macros | Functions | Variables
Classic Tasks Manager Implementation
Collaboration diagram for Classic Tasks Manager Implementation:

Files

file  tasksimpl.h
 Classic Tasks Manager Implementation.
 

Macros

#define RTEMS_TASKS_EXTERN   extern
 Instantiate RTEMS Classic API Tasks Data. More...
 

Functions

void _RTEMS_tasks_Manager_initialization (void)
 RTEMS Task Manager Initialization. More...
 
void _RTEMS_tasks_Initialize_user_tasks (void)
 RTEMS User Task Initialization. More...
 
void _RTEMS_Tasks_Invoke_task_variable_dtor (Thread_Control *the_thread, rtems_task_variable_t *tvp)
 RTEMS Tasks Invoke Task Variable Destructor. More...
 
RTEMS_INLINE_ROUTINE Thread_Control_RTEMS_tasks_Allocate (void)
 
RTEMS_INLINE_ROUTINE void _RTEMS_tasks_Free (Thread_Control *the_task)
 Frees a task control block. More...
 
RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_tasks_Priority_to_Core (rtems_task_priority priority)
 Converts an RTEMS API priority into a core priority. More...
 
RTEMS_INLINE_ROUTINE rtems_task_priority _RTEMS_tasks_Priority_from_Core (Priority_Control priority)
 Converts a core priority into an RTEMS API priority. More...
 
RTEMS_INLINE_ROUTINE bool _RTEMS_tasks_Priority_is_valid (rtems_task_priority the_priority)
 Checks whether the priority is a valid user task. More...
 

Variables

RTEMS_TASKS_EXTERN Objects_Information _RTEMS_tasks_Information
 The following instantiates the information control block used to manage this class of objects.
 

Detailed Description

Macro Definition Documentation

◆ RTEMS_TASKS_EXTERN

#define RTEMS_TASKS_EXTERN   extern

Instantiate RTEMS Classic API Tasks Data.

This constant is defined to extern most of the time when using this header file. However by defining it to nothing, the data declared in this header file can be instantiated. This is done in a single per manager file.

Function Documentation

◆ _RTEMS_tasks_Free()

RTEMS_INLINE_ROUTINE void _RTEMS_tasks_Free ( Thread_Control the_task)

Frees a task control block.

This routine frees a task control block to the inactive chain of free task control blocks.

References _Objects_Free(), _Objects_Get_information_id(), Objects_Control::id, and Thread_Control::Object.

◆ _RTEMS_tasks_Initialize_user_tasks()

void _RTEMS_tasks_Initialize_user_tasks ( void  )

RTEMS User Task Initialization.

This routine creates and starts all configured user initialization threads.

References _RTEMS_tasks_Initialize_user_tasks_p.

◆ _RTEMS_Tasks_Invoke_task_variable_dtor()

void _RTEMS_Tasks_Invoke_task_variable_dtor ( Thread_Control the_thread,
rtems_task_variable_t tvp 
)

RTEMS Tasks Invoke Task Variable Destructor.

Deprecated:
Task variables are deprecated.

This routine invokes the optional user provided destructor on the task variable and frees the memory for the task variable.

References _Thread_Get_executing(), _Workspace_Free(), rtems_task_variable_t::dtor, rtems_task_variable_t::gval, rtems_task_variable_t::ptr, and rtems_task_variable_t::tval.

◆ _RTEMS_tasks_Manager_initialization()

void _RTEMS_tasks_Manager_initialization ( void  )

RTEMS Task Manager Initialization.

This routine initializes all Task Manager related data structures.

References _Objects_Initialize_information(), and _RTEMS_tasks_Information.

◆ _RTEMS_tasks_Priority_from_Core()

RTEMS_INLINE_ROUTINE rtems_task_priority _RTEMS_tasks_Priority_from_Core ( Priority_Control  priority)

Converts a core priority into an RTEMS API priority.

This function converts a core priority into an RTEMS API priority.

Referenced by rtems_capture_record_task().

◆ _RTEMS_tasks_Priority_is_valid()

RTEMS_INLINE_ROUTINE bool _RTEMS_tasks_Priority_is_valid ( rtems_task_priority  the_priority)

Checks whether the priority is a valid user task.

This function returns TRUE if the_priority is a valid user task priority and FALSE otherwise.

References RTEMS_MAXIMUM_PRIORITY, and RTEMS_MINIMUM_PRIORITY.

Referenced by rtems_semaphore_set_priority(), and rtems_task_set_priority().

◆ _RTEMS_tasks_Priority_to_Core()

RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_tasks_Priority_to_Core ( rtems_task_priority  priority)

Converts an RTEMS API priority into a core priority.

This function converts an RTEMS API priority into a core priority.

Referenced by rtems_semaphore_create().