Introduction   File List   Index  

rmgr Interface Reference


Public Member Functions

void init_ping ([in] long value,[out] long *not_value)
 helper function to check for roottask availability
long set_small_space ([in] l4_threadid_t tid,[in] long num)
 Move a task into an allocated small space.
long set_prio ([in] l4_threadid_t tid,[in] long prio)
 Set priority of a thread.
long get_prio ([in] l4_threadid_t tid,[out] long *prio)
 Query prio without rmgr involvement.
long get_task ([in] long num)
 Request roottask to transfer right for a task to the caller.
long free_task ([in] long num)
 Pass right for a task back to roottask.
long free_task_all ([in] l4_threadid_t tid)
 Free all L4 tasks occupied for a specific task.
long task_new ([in] l4_taskid_t tid,[in] l4_umword_t mcp_or_chief,[in] l4_umword_t esp,[in] l4_umword_t eip,[in] l4_threadid_t pager,[in] l4_threadid_t caphandler,[in] l4_quota_desc_t kquota,[in] l4_umword_t sched_param,[out] l4_taskid_t *ntid)
 Create a new task.
long get_irq ([in] int num)
 Request riht to associate with IRQ to the caller.
long free_irq ([in] int num)
 Pass right for IRQ back to roottask.
long free_irq_all ([in] l4_threadid_t tid)
 Free all IRQs occupied for a task.
long free_fpage ([in] l4_umword_t fp)
 Free the I/O ports defined by a flexpage (I/O memory page).
long free_page ([in] l4_addr_t address)
 Free the specified memory page.
long dump_mem ()
 Dump the memory map of the roottask.
long reserve_mem ([in] l4_addr_t size,[in] l4_addr_t align,[in] int flags,[in] l4_addr_t low,[in] l4_addr_t high,[out] l4_addr_t *addr)
 Reserve memory at the roottask.
long free_mem_all ([in] l4_threadid_t tid)
 Free all memory occupied by the target task.
void get_page0 ([out] fpage *page0)
 Request the first physical page (roottask does not hand out \ this page on pagefaults).
long get_task_id ([in, string] char *modname,[out] l4_threadid_t *tid)
 Request the task ID of the boot module named by modname.
long set_task_id ([in, string] char *modname,[in] l4_threadid_t tid)
 Specify the name of a boot module.
long privctrl ([in] int command,[in] int param)
 Executes the privctrl system call.

Detailed Description

Roottask interface

Definition at line 25 of file rmgr.idl.


Member Function Documentation

void rmgr::init_ping ( [in] long  value,
[out] long *  not_value 
)

helper function to check for roottask availability

Parameters:
value test value
not_value negated input value

long rmgr::set_small_space ( [in] l4_threadid_t  tid,
[in] long  num 
)

Move a task into an allocated small space.

Parameters:
tid ID of corresponding L4 task
num number of small spac
Returns:
0 on success, 1 otherwise

long rmgr::set_prio ( [in] l4_threadid_t  tid,
[in] long  prio 
)

Set priority of a thread.

Parameters:
tid target thread ID
prio new thread priority
Returns:
0 on success, 1 otherwise

long rmgr::get_prio ( [in] l4_threadid_t  tid,
[out] long *  prio 
)

Query prio without rmgr involvement.

Parameters:
tid target thread ID
Return values:
prio priority
Returns:
0 on success, 1 otherwise

long rmgr::get_task ( [in] long  num  ) 

Request roottask to transfer right for a task to the caller.

Parameters:
num task number
Returns:
0 on success, 1 otherwise

long rmgr::free_task ( [in] long  num  ) 

Pass right for a task back to roottask.

Parameters:
num task number
Returns:
0 on success, 1 otherwise

long rmgr::free_task_all ( [in] l4_threadid_t  tid  ) 

Free all L4 tasks occupied for a specific task.

Parameters:
tid taget task ID
Returns:
0 on success, 1 otherwise

long rmgr::task_new ( [in] l4_taskid_t  tid,
[in] l4_umword_t  mcp_or_chief,
[in] l4_umword_t  esp,
[in] l4_umword_t  eip,
[in] l4_threadid_t  pager,
[in] l4_threadid_t  caphandler,
[in] l4_quota_desc_t  kquota,
[in] l4_umword_t  sched_param,
[out] l4_taskid_t *  ntid 
)

Create a new task.

Parameters:
tid the task ID of the new task
mcp_or_chief priority of new task
esp stack pointer for new task's stack
eip instruction pointer of initial function
pager ID of task's pager
caphandler ID of task's capability fault handler
kquota kernel memory quota
sched_param scheduling parameter
Return values:
ntid the acually allocated thread ID
Returns:
0 on success, 1 otherwise.

long rmgr::get_irq ( [in] int  num  ) 

Request riht to associate with IRQ to the caller.

Parameters:
num the IRQ number
Returns:
0 on success, 1 otherwise

long rmgr::free_irq ( [in] int  num  ) 

Pass right for IRQ back to roottask.

Parameters:
num the IRQ number
Returns:
0 on success, 1 otherwise

long rmgr::free_irq_all ( [in] l4_threadid_t  tid  ) 

Free all IRQs occupied for a task.

Parameters:
tid the task number
Returns:
0 on success, 1 otherwise

long rmgr::free_fpage ( [in] l4_umword_t  fp  ) 

Free the I/O ports defined by a flexpage (I/O memory page).

Parameters:
fp the flexpage containing the I/O memory page
Returns:
0 on success, 1 otherwise (not owner, page not I/O page)

long rmgr::free_page ( [in] l4_addr_t  address  ) 

Free the specified memory page.

Parameters:
address an address for which the corresponding memory page \ should be freed
Returns:
0 on success, 1 otherwise

long rmgr::dump_mem (  ) 

Dump the memory map of the roottask.

Returns:
0 on success

long rmgr::reserve_mem ( [in] l4_addr_t  size,
[in] l4_addr_t  align,
[in] int  flags,
[in] l4_addr_t  low,
[in] l4_addr_t  high,
[out] l4_addr_t *  addr 
)

Reserve memory at the roottask.

Parameters:
size the size of memory to allocate
align alignment of the memory chunk
flags flags for the reserved memory region
low lower bound of the area where the memory should be \ allocated
high upper bound of the area where the memory should be \ allocated
Return values:
addr the address of the actually reserved memory chunk
Returns:
0 on success, 1 otherwise.

long rmgr::free_mem_all ( [in] l4_threadid_t  tid  ) 

Free all memory occupied by the target task.

Parameters:
tid the ID of the task
Returns:
0 on success, 1 otherwise.

void rmgr::get_page0 ( [out] fpage *  page0  ) 

Request the first physical page (roottask does not hand out \ this page on pagefaults).

Return values:
page0 the flexpage containing the zero page
Returns:
0 on success, 1 otherwise.

long rmgr::get_task_id ( [in, string] char *  modname,
[out] l4_threadid_t *  tid 
)

Request the task ID of the boot module named by modname.

Parameters:
modname the name of the requested module
Return values:
tid the ID of the module
Returns:
0 on success, 1 otherwise.

long rmgr::set_task_id ( [in, string] char *  modname,
[in] l4_threadid_t  tid 
)

Specify the name of a boot module.

Parameters:
modname the name of the module to specify the ID for
tid the task ID for the module
Returns:
0 on success, 1 otherwise

long rmgr::privctrl ( [in] int  command,
[in] int  param 
)

Executes the privctrl system call.

Parameters:
command ignored
param ignored
Returns:
0 on success.
This is internal and implementation specific functionality. Do not use.


The documentation for this interface was generated from the following file:

Roottask Reference Manual, written by Frank Mehnert  © 2006