diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/apos/tcb.h | 14 | ||||
| -rw-r--r-- | include/arch/vmem.h | 5 |
2 files changed, 18 insertions, 1 deletions
diff --git a/include/apos/tcb.h b/include/apos/tcb.h index 23e6451..6097153 100644 --- a/include/apos/tcb.h +++ b/include/apos/tcb.h @@ -78,6 +78,10 @@ struct tcb { /** Execution continuation point. Important that it is first. */ vm_t exec; + /** + * Address where to save registers. + * @note his address is the top of the register save structure. + */ vm_t regs; /** Arch-specific data. */ @@ -149,6 +153,16 @@ struct tcb { /** RPC context of thread. */ struct tcb_ctx rpc; + /** + * RPC server context of thread. When a thread attaches itself to this + * process, its \ref rpc member is added to the list maintained in this + * variable. This allows the original thread to do rpc calls without + * messing up other threads' rpc status. + * + * I think, more testing required. + */ + struct tcb_ctx server; + /** Notifcation state of thread. */ enum tcb_notify notify_state; diff --git a/include/arch/vmem.h b/include/arch/vmem.h index f6660ed..c829629 100644 --- a/include/arch/vmem.h +++ b/include/arch/vmem.h @@ -53,6 +53,8 @@ stat_t unmap_vpage(struct vmem *branch, vm_t vaddr); * @param branch Branch in which to work. * @param vaddr Virtual address of page. * @param flags Flags to set. + * @return \ref ERR_NF if no page could be found at \p vaddr, + * \ref INFO_SEFF if modification has side effects, otherwise \ref OK. */ stat_t set_vpage_flags(struct vmem *branch, vm_t vaddr, vmflags_t flags); @@ -62,6 +64,8 @@ stat_t set_vpage_flags(struct vmem *branch, vm_t vaddr, vmflags_t flags); * @param branch Branch in which to work. * @param vaddr Virtual address of page. * @param flags Flags to clear. + * @return \ref ERR_NF if no page could be found at \p vaddr, + * \ref INFO_SEFF if modification has side effects, otherwise \ref OK. */ stat_t clear_vpage_flags(struct vmem *branch, vm_t vaddr, vmflags_t flags); @@ -157,7 +161,6 @@ stat_t destroy_vmem(struct vmem *b); * * @param r Source virtual memory of clone. * @param b Destination virtual memory of clone. - * @return \ref OK. */ void clone_uvmem(struct vmem *r, struct vmem *b); |
