Introduction   API Reference   Files   Index  

syscalls_gen.h File Reference

Common syscall definitions. More...

#include <l4/sys/types.h>
#include <l4/sys/kdebug.h>
#include <l4/sys/utcb.h>

Go to the source code of this file.

Defines

#define L4_FP_REMAP_PAGE
 Set page to read only.
#define L4_FP_FLUSH_PAGE
 Flush page completely.
#define L4_FP_OTHER_SPACES
 Flush page in all other address spaces.
#define L4_FP_ALL_SPACES
 Flush page in own address space too.
#define L4_NC_SAME_CLAN
 Destination resides within the same clan.
#define L4_NC_INNER_CLAN
 Destination is in an inner clan.
#define L4_NC_OUTER_CLAN
 Destination is outside the invoker's clan.

Enumerations

enum  { L4_TASK_NEW_RAISE_EXCEPTION = 1UL << 30, L4_TASK_NEW_ALIEN = 1UL << 31 }
 Flags for l4_task_new. More...
enum  { L4_TASK_NEW_UTCB_ARGS = 1UL << 29, L4_TASK_NEW_NR_OF_FLAGS = 3, L4_TASK_NEW_FLAGS_MASK }
 Internal flags for l4_task_new. More...
enum  { L4_THREAD_EX_REGS_RAISE_EXCEPTION = 1UL << 28, L4_THREAD_EX_REGS_ALIEN = 1UL << 29, L4_THREAD_EX_REGS_NO_CANCEL = 1UL << 30, L4_THREAD_EX_REGS_TASK_ID_SHIFT = 7 }
enum  { L4_THREAD_EX_REGS_UTCB_ARGS = 1UL << 27, L4_THREAD_EX_REGS_VM86 = 1UL << 31 }
 Internal flags for l4_thread_ex_regs. More...

Functions

l4_umword_t l4_fpage_unmap_taskid (unsigned taskid)
 Unmap task parameter.
void l4_fpage_unmap (l4_fpage_t fpage, l4_umword_t map_mask)
 Unmap flexpage.
l4_threadid_t l4_myself (void)
 Get the id of the current thread.
l4_threadid_t l4_myself_noprof (void)
 Get the id of the current thread, non-profile version.
int l4_nchief (l4_threadid_t destination, l4_threadid_t *next_chief)
 Get the thread id of the nearest partner of the invoker.
void l4_thread_ex_regs (l4_threadid_t destination, l4_umword_t eip, l4_umword_t esp, l4_threadid_t *preempter, l4_threadid_t *pager, l4_umword_t *old_eflags, l4_umword_t *old_eip, l4_umword_t *old_esp)
 Read and write register values of a thread, create a thread.
void l4_thread_ex_regs_flags (l4_threadid_t destination, l4_umword_t eip, l4_umword_t esp, l4_threadid_t *preempter, l4_threadid_t *pager, l4_umword_t *old_eflags, l4_umword_t *old_eip, l4_umword_t *old_esp, unsigned long flags)
 Version of l4_thread_ex_regs() that supports additional flags.
void l4_inter_task_ex_regs (l4_threadid_t destination, l4_umword_t eip, l4_umword_t esp, l4_threadid_t *preempter, l4_threadid_t *pager, l4_threadid_t *cap_handler, l4_umword_t *old_eflags, l4_umword_t *old_eip, l4_umword_t *old_esp, unsigned long flags, l4_utcb_t *utcb)
 Version of l4_thread_ex_regs() working over task boundaries.
l4_threadid_t l4_thread_ex_regs_pager (l4_threadid_t destination)
 Special version of l4_thread_ex_regs to get the pager of a thread with the callers address space.
void l4_thread_switch (l4_threadid_t destination)
 Release the processor non-preemptively.
void l4_yield (void)
 Release the processor non-preemptively, switch to any thread which is ready to run.
l4_cpu_time_t l4_thread_schedule (l4_threadid_t dest, l4_sched_param_t param, l4_threadid_t *ext_preempter, l4_threadid_t *partner, l4_sched_param_t *old_param)
 Define priority, timeslice length and external preempter of other threads.
l4_taskid_t l4_task_new (l4_taskid_t destination, l4_umword_t mcp_or_new_chief_and_flags, l4_umword_t esp, l4_umword_t eip, l4_threadid_t pager)
 Create or delete a task.
l4_taskid_t l4_task_new_long (l4_taskid_t destination, l4_umword_t mcp_or_new_chief_and_flags, l4_umword_t esp, l4_umword_t eip, l4_threadid_t pager, l4_threadid_t cap_handler, l4_quota_desc_t kquota, l4_utcb_t *utcb)
 Create or delete a task, extended version.
void * l4_kernel_interface (void)
 Return pointer to Kernel Interface Page.
int l4_privctrl (l4_umword_t cmd, l4_umword_t param)
 Privctrl system call.
void l4_thread_ex_regs_sc (l4_umword_t val0, l4_umword_t ip, l4_umword_t sp, l4_threadid_t *preempter, l4_threadid_t *pager, l4_umword_t *old_eflags, l4_umword_t *old_eip, l4_umword_t *old_esp)
 Pure l4_thread_ex_regs syscall version.
l4_taskid_t l4_task_new_sc (l4_taskid_t destination, l4_umword_t mcp_or_new_chief_and_flags, l4_umword_t sp, l4_umword_t ip, l4_threadid_t pager)
 Pure l4_task_new syscall version.


Detailed Description

Common syscall definitions.

Definition in file syscalls_gen.h.


Enumeration Type Documentation

anonymous enum

Internal flags for l4_task_new.

Enumerator:
L4_TASK_NEW_UTCB_ARGS  Additional arguments in UTCB.
L4_TASK_NEW_NR_OF_FLAGS  Number of flags.
L4_TASK_NEW_FLAGS_MASK  Mask of all flags.

Definition at line 27 of file syscalls_gen.h.

anonymous enum

Internal flags for l4_thread_ex_regs.

Enumerator:
L4_THREAD_EX_REGS_UTCB_ARGS  Additional arguments are delivered in the UTCB.
L4_THREAD_EX_REGS_VM86  Reserved for backward compatibility with older L4 versions.

Definition at line 59 of file syscalls_gen.h.


Fiasco/L4 System Call C-Bindings Reference Manual,  © 1996-2008