1#ifndef _SCHEDULER_H_INCLUDED
2#define _SCHEDULER_H_INCLUDED
char name[256]
Zero terminated string with the name of the file.
void scheduler_process_save(cpu_state *cpu)
void scheduler_wait_for(pid_t pid, enum wait_reason reason, union wait_data data)
void start_task(struct vm_table *context, ptr_t entry, ptr_t data_start, ptr_t data_end, const char *name)
void scheduler_kill_current(enum kill_reason kill_reason)
void scheduler_waitable_done(enum wait_reason reason, union wait_data data, size_t max_amount)
void init_scheduler(void)
void schedule_next(cpu_state **cpu, struct vm_table **context)
bool schedule_next_if_needed(cpu_state **cpu, struct vm_table **context)
uint64_t timestamp_ns_since_boot
bool scheduler_handle_pf(ptr_t fault_address, uint64_t error_code)
ptr_t scheduler_map_hardware(ptr_t hw, size_t len)
Map a given memory area in the currently running userspace process at a random location.
volatile pid_t scheduler_current_process
A paging table, when this is a PML4 it may also be called context.