52#if (CH_CFG_USE_REGISTRY == TRUE) || defined(__DOXYGEN__)
78 .identifier = {
'm',
'a',
'i',
'n'},
84 .ptrsize = (uint8_t)
sizeof (
void *),
87 .threadsize = (uint8_t)
sizeof (
thread_t),
94#if (CH_DBG_ENABLE_STACK_CHECK == TRUE) || (CH_CFG_USE_DYNAMIC == TRUE)
97 .off_stklimit = (uint8_t)0,
101#if CH_CFG_USE_DYNAMIC == TRUE
104 .off_refs = (uint8_t)0,
109 .off_preempt = (uint8_t)0,
114 .off_time = (uint8_t)0,
116 .off_reserved = {(uint8_t)0, (uint8_t)0, (uint8_t)0, (uint8_t)0},
120#if (CH_CFG_USE_REGISTRY == TRUE) && (CH_CFG_SMP_MODE == TRUE)
123 .off_sys_reglist = (uint8_t)0,
128 .off_sys_rfcu = (uint8_t)0,
130 .off_sys_reserved = {(uint8_t)0, (uint8_t)0, (uint8_t)0, (uint8_t)0},
134#if ((CH_CFG_USE_REGISTRY == TRUE) && (CH_CFG_SMP_MODE == FALSE))
137 .off_inst_reglist = (uint8_t)0,
140#if CH_CFG_SMP_MODE == FALSE
143 .off_inst_rfcu = (uint8_t)0
168#if CH_CFG_USE_DYNAMIC == TRUE
199 uint8_t *p = (uint8_t *)nqp;
204#if CH_CFG_USE_DYNAMIC == TRUE
211#if CH_CFG_USE_DYNAMIC == TRUE
240 }
while (ctp != NULL);
267 }
while (ctp != NULL);
272#if (CH_DBG_ENABLE_STACK_CHECK == TRUE) || (CH_CFG_USE_DYNAMIC == TRUE) || \
296 }
while (ctp != NULL);
#define chSysUnlock()
Leaves the kernel lock state.
#define chSysLock()
Enters the kernel lock state.
#define chDbgAssert(c, r)
Condition assertion.
#define CH_CFG_TIME_QUANTUM
Round robin interval.
#define CH_DBG_THREADS_PROFILING
Debug option, threads profiling.
#define CH_CFG_SMP_MODE
Handling of instances.
#define CH_KERNEL_PATCH
Kernel version patch number.
#define TRUE
Generic 'true' preprocessor boolean constant.
#define CH_KERNEL_MAJOR
Kernel version major number.
#define CH_KERNEL_MINOR
Kernel version minor number.
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.
#define __CH_OFFSETOF(st, m)
Structure field offset utility.
struct ch_system ch_system_t
Type of system data structure.
struct ch_os_instance os_instance_t
Type of an OS instance structure.
port_stkalign_t stkalign_t
struct ch_thread thread_t
Type of a thread structure.
#define ROMCONST
ROM constant modifier.
#define PORT_CORES_NUMBER
#define REG_HEADER(oip)
Access to the registry list header.
ROMCONST chdebug_t ch_debug
thread_t * chRegFirstThread(void)
Returns the first thread in the system.
thread_t * chRegNextThread(thread_t *tp)
Returns the thread next to the specified one.
thread_t * chRegFindThreadByName(const char *name)
Retrieves a thread pointer by name.
static const char * chRegGetThreadNameX(thread_t *tp)
Returns the name of the specified thread.
thread_t * chRegFindThreadByWorkingArea(stkalign_t *wa)
Confirms that a working area is being used by some active thread.
thread_t * chRegFindThreadByPointer(thread_t *tp)
Confirms that a pointer is a valid thread pointer.
#define currcore
Access to current core's instance structure.
void chThdRelease(thread_t *tp)
Releases a reference to a thread object.
static stkalign_t * chThdGetWorkingAreaX(thread_t *tp)
Returns the working area base of the specified thread.
uint64_t systime_t
Type of system time.
uint64_t sysinterval_t
Type of time interval.
ch_queue_t * next
Next in the list/queue.
trefs_t refs
References to this thread.
ch_queue_t rqueue
Registry queue element.
ChibiOS/RT memory signature record.