|
| MODULE ("turnstone.kernel.cpu.task") |
|
void | video_text_print (const char_t *str) |
|
void | memory_set_current_task_getter (memory_current_task_getter_f getter) |
|
int8_t | kmain64 (void) |
|
int8_t | task_task_switch_isr (interrupt_frame_ext_t *frame) |
|
void | task_save_registers (task_registers_t *registers) |
|
void | task_load_registers (task_registers_t *registers) |
|
void | task_cleanup (void) |
|
task_t * | task_find_next_task (void) |
|
void | task_idle_task (void) |
|
int8_t | task_create_idle_task (void) |
|
void | task_toggle_wait_for_future (uint64_t task_id) |
|
task_t * | task_get_current_task (void) |
| returns current task More...
|
|
int8_t | task_init_tasking_ext (memory_heap_t *heap) |
| inits kernel tasking, configures tss and kernel task More...
|
|
int8_t | task_set_current_and_idle_task (void *entry_point, uint64_t stack_base, uint64_t stack_size) |
|
static void | task_cleanup_task (task_t *task) |
|
void | task_task_switch_set_parameters (boolean_t need_eoi, boolean_t need_sti) |
| sets task switch parameters More...
|
|
static void | task_switch_task_exit_prep (void) |
|
void | task_switch_task (void) |
| switches current task to a new one.
|
|
void | task_end_task (void) |
|
void | task_kill_task (uint64_t task_id, boolean_t force) |
|
void | task_add_message_queue (list_t *queue) |
| adds a queue to task More...
|
|
list_t * | task_get_message_queue (uint64_t task_id, uint64_t queue_number) |
|
void | task_set_message_waiting (void) |
| sets current task's message waiting flag
|
|
uint64_t | task_create_task (memory_heap_t *heap, uint64_t heap_size, uint64_t stack_size, void *entry_point, uint64_t args_cnt, void **args, const char_t *task_name) |
| creates a task and apends it to wait queue More...
|
|
void | task_yield (void) |
| yields task for waiting other tasks.
|
|
uint64_t | task_get_id (void) |
| returns current task's id More...
|
|
void | task_current_task_sleep (uint64_t wake_tick) |
| sleep for current task for ticks More...
|
|
void | task_clear_message_waiting (uint64_t tid) |
| clears current task's message waiting flag More...
|
|
void | task_set_interrupt_received (uint64_t tid) |
| sets current task's interrupt received flag More...
|
|
void | task_set_interruptible (void) |
| sets current task's interruptible flag
|
|
void | task_print_all (void) |
|
buffer_t * | task_get_task_input_buffer (uint64_t tid) |
|
buffer_t * | task_get_task_output_buffer (uint64_t tid) |
|
buffer_t * | task_get_task_error_buffer (uint64_t tid) |
|
buffer_t * | task_get_input_buffer (void) |
|
buffer_t * | task_get_output_buffer (void) |
|
buffer_t * | task_get_error_buffer (void) |
|
int8_t | task_set_input_buffer (buffer_t *buffer) |
|
int8_t | task_set_output_buffer (buffer_t *buffer) |
|
int8_t | task_set_error_buffer (buffer_t *buffer) |
|
void | task_set_vmcs_physical_address (uint64_t vmcs_physical_address) |
|
uint64_t | task_get_vmcs_physical_address (void) |
|
void | task_set_vm (void *vm) |
|
void * | task_get_vm (void) |
|
void | task_remove_task_after_fault (uint64_t task_id) |
|
|
lock_current_task_getter_f | lock_get_current_task_getter |
|
lock_task_yielder_f | lock_task_yielder |
|
stdbuf_task_buffer_getter_f | stdbufs_task_get_input_buffer |
|
stdbuf_task_buffer_getter_f | stdbufs_task_get_output_buffer |
|
stdbuf_task_buffer_getter_f | stdbufs_task_get_error_buffer |
|
future_task_wait_toggler_f | future_task_wait_toggler_func |
|
buffer_t * | stdbufs_default_input_buffer |
|
buffer_t * | stdbufs_default_output_buffer |
|
buffer_t * | stdbufs_default_error_buffer |
|
uint64_t | task_next_task_id = 0 |
|
lock_t * | task_next_task_id_lock = NULL |
|
volatile boolean_t | task_tasking_initialized = false |
|
list_t ** | task_queues = NULL |
|
list_t ** | task_cleanup_queues = NULL |
|
map_t | task_map = NULL |
|
uint32_t | task_mxcsr_mask = 0 |
|
boolean_t | local_apic_id_is_valid |
|
volatile cpu_state_t __seg_gs * | cpu_state |
|
lock_t * | task_find_next_task_lock = NULL |
|
static char_t | task_switch_task_id_buf [100] = {0} |
|
cpu task methods
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.