diff options
Diffstat (limited to 'kernel/include/process.h')
| -rw-r--r-- | kernel/include/process.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/include/process.h b/kernel/include/process.h index ff82924..14107c2 100644 --- a/kernel/include/process.h +++ b/kernel/include/process.h @@ -4,7 +4,7 @@ #include <types.h> #include <libk/list.h> -void save_context_to_rsp(uint64_t irq_rsp, uint64_t task_rsp); +uint64_t save_context_from_rsp(uint64_t irq_rsp); __attribute__((noreturn)) void restore_context_from_rsp(uint64_t task_rsp); struct process_t { @@ -16,6 +16,12 @@ typedef struct process_t process_t; extern process_t process_queue; extern process_t *curr_process; +process_t *init_process(uint64_t priv_lvl, uint64_t rip, uint64_t argc, + uint64_t *argv); +void process_init_wrapper(uint64_t rip, uint64_t argc, uint64_t *argv); +__attribute__((noreturn)) void idle_thread(void); +__attribute__((noreturn)) void idle_thread2(void); +__attribute__((noreturn)) void remove_current_process(void); __attribute__((noreturn)) void context_switch(uint64_t irq_rsp); #endif |
