From 15f3911599a8d005edee46247470afe2a7a0b4aa Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Mon, 27 Feb 2023 01:59:33 +0100 Subject: almost done multitasking --- kernel/include/process.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'kernel/include/process.h') 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 #include -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 -- cgit v1.2.3