Go to the documentation of this file.
52 ch_sys_initializing = 1,
105 #if (CH_CFG_ST_TIMEDELTA == 0) || defined(__DOXYGEN__)
111 #if (CH_CFG_ST_TIMEDELTA > 0) || defined(__DOXYGEN__)
117 #if (CH_CFG_USE_TIMESTAMP == TRUE) || defined(__DOXYGEN__)
178 #if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__)
188 #if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__)
194 #if (CH_DBG_ENABLE_STACK_CHECK == TRUE) || (CH_CFG_USE_DYNAMIC == TRUE) || \
211 #if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__)
220 #if (CH_CFG_TIME_QUANTUM > 0) || defined(__DOXYGEN__)
223 #if (CH_DBG_THREADS_PROFILING == TRUE) || defined(__DOXYGEN__)
264 #if (CH_CFG_USE_MESSAGES == TRUE) || defined(__DOXYGEN__)
270 #if (CH_CFG_USE_SEMAPHORES == TRUE) || defined(__DOXYGEN__)
279 #if (CH_CFG_USE_MUTEXES == TRUE) || defined(__DOXYGEN__)
288 #if (CH_CFG_USE_EVENTS == TRUE) || defined(__DOXYGEN__)
297 #if (CH_CFG_USE_WAITEXIT == TRUE) || defined(__DOXYGEN__)
303 #if (CH_CFG_USE_MESSAGES == TRUE) || defined(__DOXYGEN__)
309 #if (CH_CFG_USE_EVENTS == TRUE) || defined(__DOXYGEN__)
315 #if (CH_CFG_USE_MUTEXES == TRUE) || defined(__DOXYGEN__)
326 #if ((CH_CFG_USE_DYNAMIC == TRUE) && (CH_CFG_USE_MEMPOOLS == TRUE)) || \
333 #if (CH_DBG_STATISTICS == TRUE) || defined(__DOXYGEN__)
339 #if defined(CH_CFG_THREAD_EXTRA_FIELDS)
368 #if (CH_DBG_ENABLE_STACK_CHECK == TRUE) || (CH_CFG_USE_DYNAMIC == TRUE) || \
379 #if (CH_CFG_NO_IDLE_THREAD == FALSE) || defined(__DOXYGEN__)
403 #if ((CH_CFG_USE_REGISTRY == TRUE) && (CH_CFG_SMP_MODE == FALSE)) || \
415 #if (CH_CFG_SMP_MODE == FALSE) || defined(__DOXYGEN__)
434 #if (CH_DBG_TRACE_MASK != CH_DBG_TRACE_MASK_DISABLED) || defined(__DOXYGEN__)
440 #if (CH_DBG_STATISTICS == TRUE) || defined(__DOXYGEN__)
446 #if defined(PORT_INSTANCE_EXTRA_FIELDS) || defined(__DOXYGEN__)
448 PORT_INSTANCE_EXTRA_FIELDS
466 #if (CH_CFG_USE_TM == TRUE) || defined(__DOXYGEN__)
472 #if ((CH_CFG_USE_REGISTRY == TRUE) && (CH_CFG_SMP_MODE == TRUE)) || \
480 #if (CH_CFG_SMP_MODE == TRUE) || defined(__DOXYGEN__)
487 #if defined(PORT_SYSTEM_EXTRA_FIELDS) || defined(__DOXYGEN__)
489 PORT_SYSTEM_EXTRA_FIELDS
thread_reference_t * wttrp
Pointer to a generic thread reference object.
unsigned core_id_t
Type of a core identifier.
ch_delta_list_t dlist
Delta list element.
const char * name
Instance name.
Type of a time measurement calibration data.
tprio_t realprio
Thread's own, non-inherited, priority.
eventmask_t epending
Pending events mask.
rfcu_t rfcu
Runtime Faults Collection Unit.
#define CH_CFG_OS_INSTANCE_EXTRA_FIELDS
OS instance structure extension.
ch_priority_queue_t pqueue
Threads ordered queues element.
port_stkalign_t stkalign_t
virtual_timers_list_t vtlist
Virtual timers delta list header.
Type of a ready list header.
msg_t rdymsg
Thread wakeup code.
system_state_t
Global state of the operating system.
uint64_t systime_t
Type of system time.
trace_buffer_t trace_buffer
Trace buffer.
void(* vtfunc_t)(virtual_timer_t *vtp, void *p)
Type of a Virtual Timer callback function.
thread_t * current
The currently running thread.
registry_t reglist
Registry header.
System instance data structure.
#define CH_CFG_SYSTEM_EXTRA_FIELDS
System structure extension.
rfcu_t rfcu
Runtime Faults Collection Unit for this instance.
const os_instance_config_t * config
Pointer to the instance configuration data.
Type of an RFCU structure.
kernel_stats_t kernel_stats
Global kernel statistics.
struct ch_mutex * mtxlist
List of the mutexes owned by this thread.
vtfunc_t func
Timer callback function pointer.
tm_calibration_t tmc
Time measurement calibration data.
#define CH_CFG_THREAD_EXTRA_FIELDS
Threads descriptor structure extension.
struct ch_mutex * wtmtxp
Pointer to a generic mutex object.
trefs_t refs
References to this thread.
const char * name
Thread name or NULL.
Type of system data structure.
stkalign_t * mainthread_base
Lower limit of the main function thread stack.
msg_t sentmsg
Thread sent message.
Structure representing a thread.
stkalign_t * idlethread_base
Lower limit of the dedicated idle thread stack.
struct ch_ready_list ready_list_t
Type of a ready list header.
stkalign_t * wabase
Working area base address.
struct ch_registry registry_t
Type of a registry structure.
ch_delta_list_t dlist
Delta list header.
Type of a Time Measurement object.
volatile systime_t systime
System Time counter.
union ch_thread::@0 hdr
Shared list headers.
tslices_t ticks
Number of ticks remaining to this thread.
System debug data structure.
eventmask_t ewmask
Enabled events mask.
registry_t reglist
Registry header.
struct ch_virtual_timers_list virtual_timers_list_t
Type of virtual timers list header.
ch_queue_t msgqueue
Messages queue.
thread_t mainthread
Main thread descriptor.
union ch_thread::@1 u
State-specific fields.
Structure representing a generic bidirectional linked list header and element.
sysinterval_t reload
Current reload interval.
void * wtobjp
Pointer to a generic "wait" object.
Type of a registry structure.
thread_t * thread_reference_t
Type of a thread reference.
volatile uint64_t laststamp
Last generated time stamp.
Structure representing a Virtual Timer.
volatile systime_t time
Thread consumed time in ticks.
struct ch_os_instance_config os_instance_config_t
Type of an system instance configuration.
ch_queue_t rqueue
Registry queue element.
struct port_context ctx
Processor context.
uint64_t sysinterval_t
Type of time interval.
ch_queue_t queue
Registry queue header.
system_debug_t dbg
System debug.
void * mpool
Memory Pool where the thread workspace is returned.
Type of a kernel statistics structure.
ch_queue_t queue
Threads queues element.
tstate_t state
Current thread state.
struct ch_semaphore * wtsemp
Pointer to a generic semaphore object.
struct ch_system ch_system_t
Type of system data structure.
systime_t lasttime
System time of the last tick event.
Type of virtual timers list header.
time_measurement_t stats
Thread statistics.
system_state_t state
Operating system state.
stkalign_t * mainthread_end
Upper limit of the main function thread stack.
msg_t exitcode
Thread exit code.
core_id_t core_id
Core associated to this instance.
Type of an system instance configuration.
os_instance_t * instances[PORT_CORES_NUMBER]
Initialized OS instances or NULL.
ch_list_t waiting
Termination waiting list.
ready_list_t rlist
Ready list header.
os_instance_t * owner
OS instance owner of this thread.
struct ch_threads_queue threads_queue_t
Type of a threads queue.
void * par
Timer callback function parameter.
stkalign_t * idlethread_end
Upper limit of the dedicated idle thread stack.
Structure representing a generic single link list header and element.
Structure representing a generic priority-ordered bidirectional linked list header and element.
ch_list_t list
Threads lists element.
Delta list element and header structure.
Platform dependent part of the thread_t structure.
ch_priority_queue_t pqueue
Threads ordered queues header.
tmode_t flags
Various thread flags.
ch_queue_t queue
Threads queue header.