aboutsummaryrefslogtreecommitdiff
path: root/include/apos
diff options
context:
space:
mode:
Diffstat (limited to 'include/apos')
-rw-r--r--include/apos/syscalls.h3
-rw-r--r--include/apos/tcb.h5
-rw-r--r--include/apos/uapi.h8
3 files changed, 10 insertions, 6 deletions
diff --git a/include/apos/syscalls.h b/include/apos/syscalls.h
index a5c805d..611765d 100644
--- a/include/apos/syscalls.h
+++ b/include/apos/syscalls.h
@@ -44,6 +44,9 @@ enum {
/** Request memory at fixed virtual address. */
SYS_REQ_FIXMEM,
+ /** Request shared memory. */
+ SYS_REQ_SHAREDMEM,
+
/** Free memory. */
SYS_FREE_MEM,
/** @} */
diff --git a/include/apos/tcb.h b/include/apos/tcb.h
index c56a2b3..9f10e2f 100644
--- a/include/apos/tcb.h
+++ b/include/apos/tcb.h
@@ -391,17 +391,18 @@ bool running(struct tcb *t);
/**
* Save thread context for rpc call.
+ * Assumes t->rpc is pointing to the correct virtual memory.
*
* @param t Thread whose context to save.
*/
-void save_context(struct tcb *t);
+void enter_rpc(struct tcb *t);
/**
* Load thread context from rpc call.
*
* @param t Thread whose context to restore.
*/
-void load_context(struct tcb *t);
+void leave_rpc(struct tcb *t);
/**
* Check that we have enough rpc stack.
diff --git a/include/apos/uapi.h b/include/apos/uapi.h
index 2a0dfcc..7bd00bb 100644
--- a/include/apos/uapi.h
+++ b/include/apos/uapi.h
@@ -363,15 +363,15 @@ SYSCALL_DECLARE3(req_fixmem, start, size, flags);
* (server) frees it.
*
* @param t Current tcb.
+ * @param tid Thread to share memory with.
* @param size Size of allocation.
- * @param flags Flags of allocation.
- * @param c Unused.
- * @param d Unused.
+ * @param sflags Flags of allocation for server, that is \p t.
+ * @param cflags Flags of allocation for client, that is \p tid.
* @param e Unused.
*
* Returns \ref OK and start of memory allocation.
*/
-SYSCALL_DECLARE2(req_sharedmem, size, flags);
+SYSCALL_DECLARE4(req_sharedmem, tid, size, sflags, cflags);
/**
* Reference shared memory syscall.