diff options
Diffstat (limited to 'kernel/include/comus/procs.h')
-rw-r--r-- | kernel/include/comus/procs.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/kernel/include/comus/procs.h b/kernel/include/comus/procs.h index cf3f90d..7b1a70a 100644 --- a/kernel/include/comus/procs.h +++ b/kernel/include/comus/procs.h @@ -12,6 +12,7 @@ #include <comus/cpu.h> #include <comus/limits.h> #include <comus/memory.h> +#include <comus/syscalls.h> #include <lib.h> #include <elf.h> @@ -34,11 +35,8 @@ enum proc_state { PROC_STATE_READY, PROC_STATE_RUNNING, // runnable, but waiting for some event - PROC_STATE_SLEEPING, PROC_STATE_BLOCKED, - PROC_STATE_WAITING, // no longer runnalbe - PROC_STATE_KILLED, PROC_STATE_ZOMBIE, // sentinel N_PROC_STATES, @@ -70,6 +68,7 @@ struct pcb { struct pcb *next; // next PDB in queue // process state information + uint64_t syscall; uint64_t wakeup; uint8_t exit_status; }; @@ -89,10 +88,9 @@ typedef struct pcb_queue_s *pcb_queue_t; /// public facing pcb queues extern pcb_queue_t pcb_freelist; -extern pcb_queue_t ready; -extern pcb_queue_t waiting; -extern pcb_queue_t sleeping; -extern pcb_queue_t zombie; +extern pcb_queue_t ready_queue; +extern pcb_queue_t zombie_queue; +extern pcb_queue_t syscall_queue[N_SYSCALLS]; /// pointer to the currently-running process extern struct pcb *current_pcb; |