7#ifndef ZEPHYR_INCLUDE_KERNEL_THREAD_H_
8#define ZEPHYR_INCLUDE_KERNEL_THREAD_H_
10#ifdef CONFIG_DEMAND_PAGING_THREAD_STATS
33#ifdef CONFIG_THREAD_MONITOR
34struct __thread_entry {
78#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
89#ifdef CONFIG_SCHED_DEADLINE
107#ifdef CONFIG_SCHED_CPU_MASK
115#ifdef CONFIG_SYS_CLOCK_EXISTS
121typedef struct _thread_base _thread_base_t;
123#if defined(CONFIG_THREAD_STACK_INFO)
125struct _thread_stack_info {
147typedef struct _thread_stack_info _thread_stack_info_t;
150#if defined(CONFIG_USERSPACE)
151struct _mem_domain_info {
160#ifdef CONFIG_THREAD_USERSPACE_LOCAL_DATA
161struct _thread_userspace_local_data {
162#if defined(CONFIG_ERRNO) && !defined(CONFIG_ERRNO_IN_TLS)
168#ifdef CONFIG_THREAD_RUNTIME_STATS
169struct k_thread_runtime_stats {
171#ifdef CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS
178typedef struct k_thread_runtime_stats k_thread_runtime_stats_t;
180struct _thread_runtime_stats {
182#ifdef CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS
188 k_thread_runtime_stats_t stats;
214#if defined(CONFIG_POLL)
215 struct z_poller poller;
218#if defined(CONFIG_EVENTS)
225#if defined(CONFIG_THREAD_MONITOR)
233#if defined(CONFIG_THREAD_NAME)
235 char name[CONFIG_THREAD_MAX_NAME_LEN];
238#ifdef CONFIG_THREAD_CUSTOM_DATA
243#ifdef CONFIG_THREAD_USERSPACE_LOCAL_DATA
244 struct _thread_userspace_local_data *userspace_local_data;
247#if defined(CONFIG_ERRNO) && !defined(CONFIG_ERRNO_IN_TLS)
248#ifndef CONFIG_USERSPACE
254#if defined(CONFIG_THREAD_STACK_INFO)
259#if defined(CONFIG_USERSPACE)
269#if defined(CONFIG_USE_SWITCH)
283#if defined(CONFIG_THREAD_LOCAL_STORAGE)
288#ifdef CONFIG_THREAD_RUNTIME_STATS
290 struct _thread_runtime_stats rt_stats;
293#ifdef CONFIG_DEMAND_PAGING_THREAD_STATS
struct z_thread_stack_element k_thread_stack_t
Typedef of struct z_thread_stack_element.
Definition: arch_interface.h:44
void(* k_thread_entry_t)(void *p1, void *p2, void *p3)
Thread entry point function type.
Definition: arch_interface.h:46
ZTEST_BMEM int timeout
Definition: main.c:31
struct _dnode sys_dnode_t
Definition: dlist.h:49
uint64_t timing_t
Definition: types.h:10
struct k_thread * k_tid_t
Definition: thread.h:303
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT64_TYPE__ uint64_t
Definition: stdint.h:61
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:75
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
__INT8_TYPE__ int8_t
Definition: stdint.h:42
Definition: kernel.h:5088
Memory Domain.
Definition: mem_domain.h:80
Definition: mem_manage.h:83
struct _thread_base base
Definition: thread.h:203
struct k_thread * next_thread
Definition: thread.h:230
struct _thread_arch arch
Definition: thread.h:299
void * init_data
Definition: thread.h:209
void * switch_handle
Definition: thread.h:278
struct k_heap * resource_pool
Definition: thread.h:281
k_thread_stack_t * stack_obj
Definition: thread.h:263
void * custom_data
Definition: thread.h:240
struct __thread_entry entry
Definition: thread.h:227
void * syscall_frame
Definition: thread.h:265
struct _thread_stack_info stack_info
Definition: thread.h:256
_wait_q_t join_queue
Definition: thread.h:212
struct _mem_domain_info mem_domain_info
Definition: thread.h:261
int swap_retval
Definition: thread.h:275
struct _callee_saved callee_saved
Definition: thread.h:206