Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
thread Struct Reference

#include <thread.h>

Data Fields

thread_id id
 
uint16_t core_affinity
 
uint8_t state
 
uint8_t priority
 
uint16_t flags
 
uint64_t last_run_time
 
uint32_t uuid
 
boolean_t has_update_run_time
 
uint8_t _pad1 [64 - 29]
 
uintptr_t entry_addr
 
uint64_t stack
 
cpu_register_t reg
 
volatile uintptr_tpage
 
uint16_t current_core_id
 
process_t * process
 
uint32_tclear_child_tid
 
uint64_t fs_base
 
uint64_t gs_base
 
uint8_t _pad [12]
 
uintptr_t kernel_rsp
 
uintptr_t kernel_stack_base
 
uintptr_t kernel_stack_top
 
bool in_kernel_sleep
 
bool wake_pending
 

Detailed Description

Definition at line 30 of file thread.h.

Field Documentation

◆ _pad

uint8_t thread::_pad[12]

Definition at line 45 of file thread.h.

◆ _pad1

uint8_t thread::_pad1[64 - 29]

Definition at line 40 of file thread.h.

◆ clear_child_tid

uint32_t* thread::clear_child_tid

Definition at line 41 of file thread.h.

◆ core_affinity

uint16_t thread::core_affinity

Definition at line 33 of file thread.h.

Referenced by attach_to_scheduler(), create_thread(), and vxDeatachFromScheduler().

◆ current_core_id

uint16_t thread::current_core_id

Definition at line 37 of file thread.h.

Referenced by vxSchedulerTick().

◆ entry_addr

uintptr_t thread::entry_addr

Definition at line 43 of file thread.h.

Referenced by create_thread(), and vxSchedulerTick().

◆ flags

uint16_t thread::flags

Definition at line 36 of file thread.h.

Referenced by create_thread(), and vxSchedulerTick().

◆ fs_base

uint64_t thread::fs_base

Definition at line 43 of file thread.h.

Referenced by vxSchedulerTick().

◆ gs_base

uint64_t thread::gs_base

Definition at line 44 of file thread.h.

◆ has_update_run_time

boolean_t thread::has_update_run_time

Definition at line 39 of file thread.h.

Referenced by vxSchedulerTick().

◆ id

thread_id thread::id

Definition at line 32 of file thread.h.

Referenced by attach_to_scheduler(), create_thread(), and vxSchedulerTick().

◆ in_kernel_sleep

bool thread::in_kernel_sleep

Definition at line 51 of file thread.h.

◆ kernel_rsp

uintptr_t thread::kernel_rsp

Definition at line 48 of file thread.h.

Referenced by create_thread().

◆ kernel_stack_base

uintptr_t thread::kernel_stack_base

Definition at line 49 of file thread.h.

Referenced by create_thread().

◆ kernel_stack_top

uintptr_t thread::kernel_stack_top

Definition at line 50 of file thread.h.

Referenced by create_thread().

◆ last_run_time

uint64_t thread::last_run_time

Definition at line 37 of file thread.h.

Referenced by vxSchedulerTick().

◆ page

volatile uintptr_t* thread::page

Definition at line 29 of file thread.h.

Referenced by create_thread(), mmap_handle_anonymous(), and vxSchedulerTick().

◆ priority

uint8_t thread::priority

Definition at line 35 of file thread.h.

Referenced by create_thread().

◆ process

process_t* thread::process

Definition at line 40 of file thread.h.

◆ reg

cpu_register_t thread::reg

Definition at line 45 of file thread.h.

Referenced by vxSchedulerTick().

◆ stack

uint64_t thread::stack

Definition at line 44 of file thread.h.

Referenced by create_thread(), and vxSchedulerTick().

◆ state

uint8_t thread::state

◆ uuid

uint32_t thread::uuid

Definition at line 38 of file thread.h.

◆ wake_pending

bool thread::wake_pending

Definition at line 52 of file thread.h.


The documentation for this struct was generated from the following files: