52#if (CH_CFG_NO_IDLE_THREAD == FALSE) || defined(__DOXYGEN__) 
   60#if CH_DBG_ENABLE_STACK_CHECK == TRUE 
   69#if CH_DBG_ENABLE_STACK_CHECK == TRUE 
   72#elif CH_CFG_USE_DYNAMIC == TRUE 
   73  .mainthread_base  = NULL,
 
   74  .mainthread_end   = NULL,
 
   76#if CH_CFG_NO_IDLE_THREAD == FALSE 
 
   82#if (PORT_CORES_NUMBER > 1) || defined(__DOXYGEN__) 
   88#if (CH_CFG_NO_IDLE_THREAD == FALSE) || defined(__DOXYGEN__) 
   96#if CH_DBG_ENABLE_STACK_CHECK == TRUE 
  105#if CH_DBG_ENABLE_STACK_CHECK == TRUE 
  108#elif CH_CFG_USE_DYNAMIC == TRUE 
  109  .mainthread_base  = NULL,
 
  110  .mainthread_end   = NULL,
 
  112#if CH_CFG_NO_IDLE_THREAD == FALSE 
 
  168#if CH_CFG_USE_TM == TRUE 
  173#if (CH_CFG_USE_REGISTRY == TRUE) && (CH_CFG_SMP_MODE == TRUE) 
  178#if CH_CFG_SMP_MODE == TRUE 
 
  222#if defined(PORT_SYSTEM_HALT_HOOK) 
  225  PORT_SYSTEM_HALT_HOOK();
 
 
  336#if CH_CFG_USE_REGISTRY == TRUE 
  366#if defined(PORT_INTEGRITY_CHECK) 
  368    PORT_INTEGRITY_CHECK();
 
 
  387#if (CH_CFG_TIME_QUANTUM > 0) || (CH_DBG_THREADS_PROFILING == TRUE) 
  393#if CH_CFG_TIME_QUANTUM > 0 
  400#if CH_DBG_THREADS_PROFILING == TRUE 
 
  407#if (CH_PORT_SUPPORTS_RECURSIVE_LOCKS == TRUE) || defined(__DOXYGEN__) 
  462#if (PORT_SUPPORTS_RT == TRUE) || defined(__DOXYGEN__) 
#define chThdGetSelfX()
Returns a pointer to the current thread_t.
 
#define chSysLockFromISR()
Enters the kernel lock state from within an interrupt handler.
 
#define chSysUnlock()
Leaves the kernel lock state.
 
#define chSysLock()
Enters the kernel lock state.
 
#define chSysUnlockFromISR()
Leaves the kernel lock state from within an interrupt handler.
 
#define chDbgAssert(c, r)
Condition assertion.
 
#define chDbgCheckClassI()
 
#define CH_CFG_SYSTEM_TICK_HOOK()
System tick event hook.
 
#define CH_CFG_SYSTEM_HALT_HOOK(reason)
System halt hook.
 
#define CH_CFG_SYSTEM_INIT_HOOK()
System initialization hook.
 
void chInstanceObjectInit(os_instance_t *oip, const os_instance_config_t *oicp)
Initializes a system instance.
 
struct ch_priority_queue ch_priority_queue_t
Type of a generic priority-ordered bidirectional linked 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.
 
#define threadref(p)
Safe cast of a queue pointer to a thread pointer.
 
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.
 
port_stkalign_t stkalign_t
 
system_state_t
Global state of the operating system.
 
struct ch_thread thread_t
Type of a thread structure.
 
static void __oslib_init(void)
Initialization of all library modules.
 
static void port_disable(void)
Disables all the interrupt sources.
 
#define port_get_lock_status()
Returns a word representing a critical section status.
 
#define PORT_IDLE_THREAD_STACK_SIZE
Stack size for the system idle thread.
 
#define port_is_locked(sts)
Determines if in a critical section.
 
static bool port_is_isr_context(void)
Determines the current execution context.
 
#define PORT_CORES_NUMBER
 
#define REG_HEADER(oip)
Access to the registry list header.
 
static void __reg_object_init(registry_t *rp)
Initializes a registry.
 
static void __rfcu_object_init(rfcu_t *rfcup)
Runtime Faults Collection Unit initialization.
 
void chSchRescheduleS(void)
Performs a reschedule if a higher priority thread is runnable.
 
#define IDLEPRIO
Idle priority.
 
#define CH_SYS_CORE0_MEMORY
Core zero memory affinity macro.
 
stkalign_t __main_thread_stack_end__
 
#define chSysGetRealtimeCounterX()
Returns the current value of the system real time counter.
 
syssts_t chSysGetStatusAndLockX(void)
Returns the execution status and enters a critical zone.
 
#define CH_INTEGRITY_VTLIST
 
CH_SYS_CORE1_MEMORY os_instance_t ch1
Core 1 OS instance.
 
bool chSysIsCounterWithinX(rtcnt_t cnt, rtcnt_t start, rtcnt_t end)
Realtime window test.
 
void chSysTimerHandlerI(void)
Handles time ticks for round robin preemption and timer increments.
 
CH_SYS_CORE0_MEMORY os_instance_t ch0
Core 0 OS instance.
 
bool chSysIntegrityCheckI(unsigned testmask)
System integrity check.
 
#define CH_SYS_CORE1_MEMORY
Core one memory affinity macro.
 
#define CH_INTEGRITY_REGISTRY
 
thread_t * chSysGetIdleThreadX(void)
Returns a pointer to the idle thread.
 
stkalign_t __c1_main_thread_stack_end__
 
void chSysPolledDelayX(rtcnt_t cycles)
Polled delay.
 
const os_instance_config_t ch_core0_cfg
Core 0 OS instance configuration.
 
void chSysWaitSystemState(system_state_t state)
Waits for the system state to be equal to the specified one.
 
stkalign_t __c1_main_thread_stack_base__
 
const os_instance_config_t ch_core1_cfg
Core 1 OS instance configuration.
 
void chSysRestoreStatusX(syssts_t sts)
Restores the specified execution status and leaves a critical zone.
 
#define CH_INTEGRITY_RLIST
 
#define CH_INTEGRITY_PORT
 
#define currcore
Access to current core's instance structure.
 
stkalign_t __main_thread_stack_base__
 
void chSysInit(void)
System initialization.
 
void chSysHalt(const char *reason)
Halts the system.
 
#define THD_WORKING_AREA_END(s)
End of a working area casted to the correct type.
 
#define THD_WORKING_AREA_BASE(s)
Base of a working area casted to the correct type.
 
#define THD_WORKING_AREA(s, n)
Static working area allocation.
 
static void __tm_calibration_object_init(tm_calibration_t *tcp)
Time measurement initialization.
 
void chVTDoTickI(void)
Virtual timers ticker.
 
#define __trace_halt(reason)
 
ch_delta_list_t * next
Next in the delta list.
 
ch_delta_list_t * prev
Previous in the delta list.
 
virtual_timers_list_t vtlist
Virtual timers delta list header.
 
ready_list_t rlist
Ready list header.
 
ch_priority_queue_t * next
Next in the queue.
 
tprio_t prio
Priority of this element.
 
ch_priority_queue_t * prev
Previous in the queue.
 
ch_queue_t * prev
Previous in the queue.
 
ch_queue_t * next
Next in the list/queue.
 
ch_priority_queue_t pqueue
Threads ordered queues 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.
 
union ch_thread::@065317322233202114332352372014266163076165303275 hdr
Shared list headers.
 
tslices_t ticks
Number of ticks remaining to this thread.
 
volatile systime_t time
Thread consumed time in ticks.
 
ch_priority_queue_t pqueue
Threads ordered queues element.
 
ch_delta_list_t dlist
Delta list header.