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
 
 
struct ch_system_debug system_debug_t
System debug data structure.
 
#define CH_CFG_THREAD_EXTRA_FIELDS
Threads descriptor structure extension.
 
#define CH_CFG_SYSTEM_EXTRA_FIELDS
System structure extension.
 
#define CH_CFG_OS_INSTANCE_EXTRA_FIELDS
OS instance structure extension.
 
struct ch_priority_queue ch_priority_queue_t
Type of a generic priority-ordered bidirectional linked list header and element.
 
struct ch_list ch_list_t
Type of a generic single link list header and element.
 
struct ch_delta_list ch_delta_list_t
Type of a generic bidirectional linked delta list header and element.
 
struct ch_queue ch_queue_t
Type of a generic bidirectional linked list header and element.
 
struct ch_ready_list ready_list_t
Type of a ready list header.
 
struct ch_virtual_timers_list virtual_timers_list_t
Type of virtual timers list header.
 
struct ch_virtual_timer virtual_timer_t
Type of a Virtual Timer.
 
unsigned core_id_t
Type of a core identifier.
 
struct ch_registry registry_t
Type of a registry structure.
 
struct ch_system ch_system_t
Type of system data structure.
 
struct ch_os_instance os_instance_t
Type of an OS instance structure.
 
struct ch_os_instance_config os_instance_config_t
Type of an system instance configuration.
 
void(* vtfunc_t)(virtual_timer_t *vtp, void *p)
Type of a Virtual Timer callback function.
 
thread_t * thread_reference_t
Type of a thread reference.
 
port_stkalign_t stkalign_t
 
system_state_t
Global state of the operating system.
 
struct ch_thread thread_t
Type of a thread structure.
 
#define PORT_CORES_NUMBER
 
struct ch_rfcu rfcu_t
Type of an RFCU structure.
 
uint64_t systime_t
Type of system time.
 
uint64_t sysinterval_t
Type of time interval.
 
Type of an system instance configuration.
 
stkalign_t * mainthread_base
Lower limit of the main function thread stack.
 
stkalign_t * idlethread_base
Lower limit of the dedicated idle thread stack.
 
stkalign_t * idlethread_end
Upper limit of the dedicated idle thread stack.
 
stkalign_t * mainthread_end
Upper limit of the main function thread stack.
 
const char * name
Instance name.
 
System instance data structure.
 
kernel_stats_t kernel_stats
Global kernel statistics.
 
registry_t reglist
Registry header.
 
rfcu_t rfcu
Runtime Faults Collection Unit for this instance.
 
const os_instance_config_t * config
Pointer to the instance configuration data.
 
thread_t mainthread
Main thread descriptor.
 
virtual_timers_list_t vtlist
Virtual timers delta list header.
 
core_id_t core_id
Core associated to this instance.
 
system_debug_t dbg
System debug.
 
ready_list_t rlist
Ready list header.
 
trace_buffer_t trace_buffer
Trace buffer.
 
Type of a ready list header.
 
thread_t * current
The currently running thread.
 
ch_priority_queue_t pqueue
Threads ordered queues header.
 
Type of a registry structure.
 
ch_queue_t queue
Registry queue header.
 
Type of system data structure.
 
tm_calibration_t tmc
Time measurement calibration data.
 
os_instance_t * instances[PORT_CORES_NUMBER]
Initialized OS instances or NULL.
 
rfcu_t rfcu
Runtime Faults Collection Unit.
 
system_state_t state
Operating system state.
 
registry_t reglist
Registry header.
 
Structure representing a thread.
 
ch_queue_t queue
Threads queues element.
 
union ch_thread::@065317322233202114332352372014266163076165303275 hdr
Shared list headers.
 
struct ch_mutex * wtmtxp
Pointer to a generic mutex object.
 
time_measurement_t stats
Thread statistics.
 
msg_t rdymsg
Thread wakeup code.
 
tprio_t realprio
Thread's own, non-inherited, priority.
 
void * mpool
Memory Pool where the thread workspace is returned.
 
const char * name
Thread name or NULL.
 
struct ch_mutex * mtxlist
List of the mutexes owned by this thread.
 
eventmask_t epending
Pending events mask.
 
ch_list_t list
Threads lists element.
 
ch_list_t waiting
Termination waiting list.
 
thread_reference_t * wttrp
Pointer to a generic thread reference object.
 
void * wtobjp
Pointer to a generic "wait" object.
 
stkalign_t * wabase
Working area base address.
 
msg_t exitcode
Thread exit code.
 
msg_t sentmsg
Thread sent message.
 
tslices_t ticks
Number of ticks remaining to this thread.
 
tstate_t state
Current thread state.
 
volatile systime_t time
Thread consumed time in ticks.
 
eventmask_t ewmask
Enabled events mask.
 
ch_priority_queue_t pqueue
Threads ordered queues element.
 
ch_queue_t msgqueue
Messages queue.
 
struct port_context ctx
Processor context.
 
trefs_t refs
References to this thread.
 
struct ch_semaphore * wtsemp
Pointer to a generic semaphore object.
 
ch_queue_t rqueue
Registry queue element.
 
union ch_thread::@250330312022121344252011223135034045240103044261 u
State-specific fields.
 
tmode_t flags
Various thread flags.
 
os_instance_t * owner
OS instance owner of this thread.
 
ch_queue_t queue
Threads queue header.
 
Structure representing a Virtual Timer.
 
ch_delta_list_t dlist
Delta list element.
 
void * par
Timer callback function parameter.
 
sysinterval_t reload
Current reload interval.
 
vtfunc_t func
Timer callback function pointer.
 
Type of virtual timers list header.
 
volatile uint64_t laststamp
Last generated time stamp.
 
ch_delta_list_t dlist
Delta list header.
 
volatile systime_t systime
System Time counter.
 
systime_t lasttime
System time of the last tick event.
 
Type of a kernel statistics structure.
 
Platform dependent part of the thread_t structure.
 
Type of a Time Measurement object.
 
Type of a time measurement calibration data.