aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/arch/vmem.h2
-rw-r--r--include/kmi/bkl.h2
-rw-r--r--include/kmi/tcb.h21
3 files changed, 24 insertions, 1 deletions
diff --git a/include/arch/vmem.h b/include/arch/vmem.h
index 1674e95..79c42b9 100644
--- a/include/arch/vmem.h
+++ b/include/arch/vmem.h
@@ -179,7 +179,7 @@ void destroy_vmem(struct vmem *b);
* @param r Source virtual memory of clone.
* @param b Destination virtual memory of clone.
*/
-void clone_uvmem(struct vmem * restrict r, struct vmem * restrict b);
+void clone_uvmem(struct vmem *r, struct vmem *b);
/**
* Jump into kernelspace from a physical address space.
diff --git a/include/kmi/bkl.h b/include/kmi/bkl.h
index 39e3ef9..8a56061 100644
--- a/include/kmi/bkl.h
+++ b/include/kmi/bkl.h
@@ -12,6 +12,8 @@
#include <kmi/lock.h>
+void bkl_init();
+
/** Lock the Big Kernel Lock. */
void bkl_lock();
diff --git a/include/kmi/tcb.h b/include/kmi/tcb.h
index d61845f..b12ad7e 100644
--- a/include/kmi/tcb.h
+++ b/include/kmi/tcb.h
@@ -22,6 +22,27 @@ struct tcb;
#include <arch/tcb.h>
+/** Structure for maintaining the required context data for an rpc call. */
+struct call_ctx {
+ /** Execution continuation point. */
+ vm_t exec;
+
+ /** Position in rpc stack. */
+ vm_t rpc_stack;
+
+ /** Effective process ID. */
+ id_t eid;
+
+ /** Current process ID. */
+ id_t pid;
+
+ /** If this frame was due to a notification, which means leaving the
+ * frame must restore registers as they were */
+ bool notify;
+
+ /* register save area follows this in the stack */
+};
+
/**
* Check if thread is process thread.
*