RTEMS CPU Kit with SuperCore
4.11.2
|
Constants and Structures Related with the Thread Control Block. More...
#include <rtems/score/atomic.h>
#include <rtems/score/context.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/object.h>
#include <rtems/score/priority.h>
#include <rtems/score/resource.h>
#include <rtems/score/stack.h>
#include <rtems/score/states.h>
#include <rtems/score/threadq.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/timestamp.h>
Go to the source code of this file.
Data Structures | |
struct | rtems_task_variable_t |
Internal structure used to manager per task variables. More... | |
struct | Thread_Start_information |
The following structure contains the information which defines the starting state of a thread. More... | |
union | Thread_Wait_information_Object_argument_type |
Union type to hold a pointer to an immutable or a mutable object. More... | |
struct | Thread_Wait_information |
Information required to manage a thread while it is blocked. More... | |
struct | Thread_Proxy_control |
The following defines the control block used to manage each thread proxy. More... | |
struct | Thread_Action |
Thread action. More... | |
struct | Thread_Action_control |
Control block to manage thread actions. More... | |
struct | Thread_Life_control |
Thread life control. More... | |
struct | Thread_Scheduler_control |
Thread scheduler control. More... | |
struct | Thread_Capture_control |
struct | Thread_Control |
This structure defines the Thread Control Block (TCB). More... | |
struct | Thread_Control_add_on |
Thread control add-on. More... | |
Macros | |
#define | RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT |
#define | THREAD_API_FIRST THREAD_API_RTEMS |
This macro defines the first API which has threads. More... | |
#define | THREAD_API_LAST THREAD_API_POSIX |
This macro defines the last API which has threads. More... | |
Typedefs | |
typedef Timestamp_Control | Thread_CPU_usage_t |
typedef void * | Thread |
The following defines the "return type" of a thread. More... | |
typedef CPU_Uint32ptr | Thread_Entry_numeric_type |
Type of the numeric argument of a thread entry function with at least one numeric argument. More... | |
typedef Thread(* | Thread_Entry) (void) |
This type corresponds to a very simple style thread entry point. More... | |
typedef Thread(* | Thread_Entry_numeric) (Thread_Entry_numeric_type) |
This type corresponds to a thread entry point which takes a single unsigned thirty-two bit integer as an argument. | |
typedef Thread(* | Thread_Entry_pointer) (void *) |
This type corresponds to a thread entry point which takes a single untyped pointer as an argument. | |
typedef Thread(* | Thread_Entry_both_pointer_first) (void *, Thread_Entry_numeric_type) |
This type corresponds to a thread entry point which takes a single untyped pointer and an unsigned thirty-two bit integer as arguments. | |
typedef Thread(* | Thread_Entry_both_numeric_first) (Thread_Entry_numeric_type, void *) |
This type corresponds to a thread entry point which takes a single unsigned thirty-two bit integer and an untyped pointer and an as arguments. | |
typedef void(* | Thread_CPU_budget_algorithm_callout) (Thread_Control *) |
This defines thes the entry point for the thread specific timeslice budget management algorithm. | |
typedef unsigned int | Thread_Wait_flags |
This type is able to contain several flags used to control the wait class and state of a thread. More... | |
typedef struct Thread_Action | Thread_Action |
typedef void(* | Thread_Action_handler) (Thread_Control *thread, Thread_Action *action, struct Per_CPU_Control *cpu, ISR_Level level) |
Thread action handler. More... | |
typedef void(* | rtems_per_thread_routine) (Thread_Control *) |
This defines the type for a method which operates on a single thread. | |
Enumerations | |
enum | Thread_Start_types { THREAD_START_NUMERIC, THREAD_START_POINTER } |
The following defines the ways in which the entry point for a thread can be invoked. More... | |
enum | Thread_CPU_budget_algorithms { THREAD_CPU_BUDGET_ALGORITHM_NONE, THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE, THREAD_CPU_BUDGET_ALGORITHM_CALLOUT } |
The following lists the algorithms used to manage the thread cpu budget. More... | |
enum | Thread_APIs { THREAD_API_RTEMS, THREAD_API_POSIX } |
The following record defines the control block used to manage each thread. More... | |
enum | Thread_Life_state { THREAD_LIFE_NORMAL = 0x0, THREAD_LIFE_PROTECTED = 0x1, THREAD_LIFE_RESTARTING = 0x2, THREAD_LIFE_PROTECTED_RESTARTING = 0x3, THREAD_LIFE_TERMINATING = 0x4, THREAD_LIFE_PROTECTED_TERMINATING = 0x5, THREAD_LIFE_RESTARTING_TERMINATING = 0x6, THREAD_LIFE_PROTECTED_RESTARTING_TERMINATING = 0x7 } |
Thread life states. More... | |
Functions | |
void * | _Thread_Idle_body (uintptr_t ignored) |
This routine is the body of the system idle thread. More... | |
void | rtems_iterate_over_all_threads (rtems_per_thread_routine routine) |
Iterates over all threads. More... | |
Variables | |
const Thread_Control_add_on | _Thread_Control_add_ons [] |
Thread control add-ons. More... | |
const size_t | _Thread_Control_add_on_count |
Thread control add-on count. More... | |
const size_t | _Thread_Control_size |
Size of the thread control block of a particular application. More... | |
Constants and Structures Related with the Thread Control Block.
This include file contains all constants and structures associated with the thread control block.