aboutsummaryrefslogtreecommitdiff
path: root/include/apos
diff options
context:
space:
mode:
Diffstat (limited to 'include/apos')
-rw-r--r--include/apos/tcb.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/apos/tcb.h b/include/apos/tcb.h
index 63bf037..a31e308 100644
--- a/include/apos/tcb.h
+++ b/include/apos/tcb.h
@@ -75,6 +75,9 @@ enum tcb_notify {
/** Thread control block. Main way to handle threads. */
struct tcb {
+ /** Execution continuation point. Important that it is first. */
+ vm_t exec;
+
/** Arch-specific data. */
struct arch_tcbd tcbd;
@@ -319,4 +322,12 @@ stat_t clone_rpc_maps(struct tcb *r);
*/
stat_t alloc_stacks(struct tcb *t);
+/**
+ * Set address to jump to when returning to userspace.
+ *
+ * @param t Thread return address to set.
+ * @param r Address to jump to.
+ */
+void set_return(struct tcb *t, vm_t r);
+
#endif /* APOS_TCB_H */