From 67c9dc06ca0b5aec6430d50af9444bbe85b6deb5 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 16 Apr 2022 20:27:46 +0300 Subject: initial thread id handling + At least initial in the sense that this seems like the smartest way to handle things, that is. --- include/apos/tcb.h | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'include/apos/tcb.h') diff --git a/include/apos/tcb.h b/include/apos/tcb.h index b2e38a0..7ed07c5 100644 --- a/include/apos/tcb.h +++ b/include/apos/tcb.h @@ -6,24 +6,35 @@ #include /* arch-specific data */ struct tcb { - struct sp_node sp_n; - struct mem_region_root sp_r; struct arch_tcbd tcbd; - id_t pid; + /* mapping data + * TODO: should mem_region_root be renamed mem_root or something? feels + * kind of clunky */ + struct mem_region_root sp_r; + id_t tid; vm_t callback; vm_t proc_stack; vm_t call_stack; + /* entry point */ vm_t entry; + /* vm root branch */ struct vm_branch *b_r; }; -stat_t threads_insert(struct tcb *t); +void init_tcbs(); +void destroy_tcbs(); + +struct tcb *new_thread(); +void destroy_thread(struct tcb *); + struct tcb *cur_tcb(); +void use_tcb(struct tcb *); + struct tcb *get_tcb(id_t tid); #endif /* APOS_TCB_H */ -- cgit v1.3