aboutsummaryrefslogtreecommitdiff
path: root/include/arch/tcb.h
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-07-04 22:52:47 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-07-04 22:52:47 +0300
commitfdbc5adf83741d7e3af0c3f0ffdb59bdf42493b6 (patch)
tree2eb538b9ecc2898d1f94305fe56d0625060834de /include/arch/tcb.h
parentb82479a69cd6110c9099031e133fda62f8e11222 (diff)
downloadkmi-fdbc5adf83741d7e3af0c3f0ffdb59bdf42493b6.tar.gz
kmi-fdbc5adf83741d7e3af0c3f0ffdb59bdf42493b6.zip
generalize orphants
+ Allow threads to make themselves become orphants
Diffstat (limited to 'include/arch/tcb.h')
-rw-r--r--include/arch/tcb.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/arch/tcb.h b/include/arch/tcb.h
index 115f49d..22d3b59 100644
--- a/include/arch/tcb.h
+++ b/include/arch/tcb.h
@@ -40,13 +40,17 @@ void setup_rpc_stack(struct tcb *t);
void destroy_rpc_stack(struct tcb *t);
/**
- * Maximum size of one individual RPC stack instance.
- *
* @return Max size of one individual RPC stack instance.
*/
size_t max_rpc_size();
/**
+ * @param addr Address of current top of stack, generally from `ctx->rpc_stack`.
+ * @return \ref true if next rpc return would be into the root process.
+ */
+bool rpc_stack_empty(pm_t addr);
+
+/**
* Current highest address in RPC stack. Allowed to be inaccurate to one base page.
*
* @param t Thread whose position in the RPC stack is to be determined.