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 {
 
   92#ifdef CONFIG_BIG_ENDIAN 
  103#ifdef CONFIG_SCHED_DEADLINE 
  121#ifdef CONFIG_SCHED_CPU_MASK 
  129#ifdef CONFIG_SYS_CLOCK_EXISTS 
  134#ifdef CONFIG_TIMESLICE_PER_THREAD 
  140#ifdef CONFIG_SCHED_THREAD_USAGE 
  145typedef struct _thread_base _thread_base_t;
 
  147#if defined(CONFIG_THREAD_STACK_INFO) 
  149struct _thread_stack_info {
 
  171typedef struct _thread_stack_info _thread_stack_info_t;
 
  174#if defined(CONFIG_USERSPACE) 
  175struct _mem_domain_info {
 
  184#ifdef CONFIG_THREAD_USERSPACE_LOCAL_DATA 
  185struct _thread_userspace_local_data {
 
  186#if defined(CONFIG_ERRNO) && !defined(CONFIG_ERRNO_IN_TLS) && !defined(CONFIG_LIBC_ERRNO) 
  193#ifdef CONFIG_SCHED_THREAD_USAGE 
  203#ifdef CONFIG_SCHED_THREAD_USAGE_ANALYSIS 
  216#ifdef CONFIG_SCHED_THREAD_USAGE_ALL 
  226#if defined(__cplusplus) && !defined(CONFIG_SCHED_THREAD_USAGE) &&                                 \ 
  227        !defined(CONFIG_SCHED_THREAD_USAGE_ANALYSIS) && !defined(CONFIG_SCHED_THREAD_USAGE_ALL) 
  258#if defined(CONFIG_POLL) 
  259        struct z_poller poller;
 
  262#if defined(CONFIG_EVENTS) 
  269        bool no_wake_on_timeout;
 
  272#if defined(CONFIG_THREAD_MONITOR) 
  280#if defined(CONFIG_THREAD_NAME) 
  282        char name[CONFIG_THREAD_MAX_NAME_LEN];
 
  285#ifdef CONFIG_THREAD_CUSTOM_DATA 
  290#ifdef CONFIG_THREAD_USERSPACE_LOCAL_DATA 
  291        struct _thread_userspace_local_data *userspace_local_data;
 
  294#if defined(CONFIG_ERRNO) && !defined(CONFIG_ERRNO_IN_TLS) && !defined(CONFIG_LIBC_ERRNO) 
  295#ifndef CONFIG_USERSPACE 
  301#if defined(CONFIG_THREAD_STACK_INFO) 
  306#if defined(CONFIG_USERSPACE) 
  316#if defined(CONFIG_USE_SWITCH) 
  330#if defined(CONFIG_THREAD_LOCAL_STORAGE) 
  335#ifdef CONFIG_DEMAND_PAGING_THREAD_STATS 
  342        struct _pipe_desc pipe_desc;
 
  352void z_init_cpu(
int id);
 
  353void z_sched_ipi(
void);
 
  354void z_smp_start_cpu(
int id);
 
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
 
static struct k_thread thread[2]
Definition: atomic.c:26
 
ZTEST_BMEM int timeout
Definition: main.c:31
 
struct _dnode sys_dnode_t
Definition: dlist.h:49
 
struct k_thread * k_tid_t
Definition: thread.h:350
 
struct k_thread_runtime_stats k_thread_runtime_stats_t
 
void(* k_thread_timeslice_fn_t)(struct k_thread *thread, void *data)
Definition: kernel_structs.h:252
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__INT32_TYPE__ int32_t
Definition: stdint.h:74
 
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
__INT8_TYPE__ int8_t
Definition: stdint.h:72
 
Definition: kernel.h:5193
 
Memory Domain.
Definition: mem_domain.h:80
 
Definition: mem_manage.h:106
 
struct _thread_base base
Definition: thread.h:247
 
struct k_thread * next_thread
Definition: thread.h:277
 
struct _thread_arch arch
Definition: thread.h:346
 
void * init_data
Definition: thread.h:253
 
void * switch_handle
Definition: thread.h:325
 
struct k_heap * resource_pool
Definition: thread.h:328
 
k_thread_stack_t * stack_obj
Definition: thread.h:310
 
void * custom_data
Definition: thread.h:287
 
struct __thread_entry entry
Definition: thread.h:274
 
void * syscall_frame
Definition: thread.h:312
 
struct _thread_stack_info stack_info
Definition: thread.h:303
 
_wait_q_t join_queue
Definition: thread.h:256
 
struct _mem_domain_info mem_domain_info
Definition: thread.h:308
 
int swap_retval
Definition: thread.h:322
 
struct _callee_saved callee_saved
Definition: thread.h:250
 
static ZTEST_BMEM char buffer[8]
Definition: test_mbox_api.c:551