mirror of
https://github.com/drasko/codezero.git
synced 2026-02-28 17:53:13 +01:00
Removed duplicate man pages.
This commit is contained in:
@@ -1,47 +0,0 @@
|
|||||||
.TH L4_UTCB 7 2009-11-02 "Codezero" "Codezero Programmer's Manual"
|
|
||||||
.SH NAME
|
|
||||||
.nf
|
|
||||||
.BR "UTCB" "- User visible thread control block"
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.nf
|
|
||||||
UTCB is a memory block designated as thread local storage that also serves as storage space for per-thread message registers transferred during an IPC between two threads.
|
|
||||||
|
|
||||||
.fi
|
|
||||||
.SH DESCRIPTION
|
|
||||||
|
|
||||||
UTCB address is a virtual address that is unique for each thread available on the system and is discovered at run-time by reading the Kernel Interface Page.It also stores message registers that are transferred between threads during an IPC. Depending on whether the IPC is a send or a receive, the message register fields are either transferred to other threads, or overwritten by message registers of other threads. For details please refer to the
|
|
||||||
.BR L4_IPC ()
|
|
||||||
system call reference page.
|
|
||||||
UTCB address pool is predefined by the microkernel, but each individual address is allocated by the pagers.
|
|
||||||
.fi
|
|
||||||
UTCB may contain thread-local information. Currently on the ARM architecture, the only fields on the UTCB that are not message registers are the
|
|
||||||
.I saved_tag
|
|
||||||
and
|
|
||||||
.I saved_sender
|
|
||||||
fields, which are used for saving the context of an earlier IPC if a new IPC is going to be made before finishing the first one in a stacked fashion.
|
|
||||||
.fi
|
|
||||||
The UTCB structure is subject to change. New fields may be reserved on the UTCB as needed.
|
|
||||||
|
|
||||||
|
|
||||||
.ti 10
|
|
||||||
.BI "struct " "utcb "
|
|
||||||
{
|
|
||||||
.ti 18
|
|
||||||
.BI "u32 " "mr[MR_TOTAL]" "; /* MRs that are mapped to real registers */"
|
|
||||||
.ti 18
|
|
||||||
.BI "u32 " "saved_tag" "; /* Saved tag field for stacked ipcs */"
|
|
||||||
.ti 18
|
|
||||||
.BI "u32 " "saved_sender" "; /* Saved sender field for stacked ipcs */"
|
|
||||||
.ti 18
|
|
||||||
.BI "u32 " "mr_rest[MR_REST]" "; /* Complete the utcb for up to 64 words */"
|
|
||||||
.ti 10
|
|
||||||
};
|
|
||||||
|
|
||||||
.in 8
|
|
||||||
.SH L4 Userspace Library Functions
|
|
||||||
.nf
|
|
||||||
|
|
||||||
/* Functions to read/write utcb registers */
|
|
||||||
.BI "static inline unsigned int read_mr(int " "offset");
|
|
||||||
.BI "static inline void write_mr(unsigned int " "offset," "unsigned int " "val" ")"
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
.\"
|
|
||||||
.\" Man page for the Codezero Project
|
|
||||||
.\"
|
|
||||||
.\" L4 Thread Control system call
|
|
||||||
.\"
|
|
||||||
|
|
||||||
.TH L4_THREAD_CONTROL 7 2009-10-21 "Codezero" "Codezero Programmer's Manual"
|
|
||||||
.SH NAME
|
|
||||||
l4_thread_control \- Create a new thread in the system
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B #include <l4lib/arch/syscalls.h>
|
|
||||||
.br
|
|
||||||
.B #include <l4lib/arch/syslib.h>
|
|
||||||
.sp
|
|
||||||
.BI "int l4_thread_control(unsigned int " "action, " "struct task_ids * " "ids) "
|
|
||||||
.sp
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B l4_thread_control()
|
|
||||||
manipulates threads in the system.
|
|
||||||
.I action
|
|
||||||
field is the main action specifier where one of
|
|
||||||
.BR THREAD_CREATE,
|
|
||||||
.BR THREAD_RUN,
|
|
||||||
.BR THREAD_SUSPEND,
|
|
||||||
.BR THREAD_RESUME,
|
|
||||||
.BR THREAD_DESTROY,
|
|
||||||
.BR THREAD_RECYCLE,
|
|
||||||
may be supplied as valid actions.
|
|
||||||
Reference in New Issue
Block a user