l4_thread_ex_regs -- read and write register values of a thread, create a thread
1 Synopsis
#include <l4/sys/syscalls.h>
static inline void
l4_thread_ex_regs(l4_threadid_t dest ,
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 );
2 Description
The l4_thread_ex_regs() system call reads and writes user-level
register values of a thread in the current task. Ongoing kernel
activities are not effected. An ipc operation is cancelled or aborted,
however. Setting stack and instruction pointer to different valid
values results in the creation of a new thread.
3 Arguments
- dest
- The identifier of the destination thread.
- eip
- The new instruction pointer of the thread. It must
point into the user-accessible part of the address space. The existing
instruction pointer is not modified if 0xFFFFFFFF is given.
- esp
- The new stack pointer for the thread. It must point into the
user-accessible part of the address space. The existing stack
pointer is not modified if 0xFFFFFFFF is given.
- *preempter
- Defines the internal preempter used by the thread. The
current preempter id is not modified if L4_INVALID_ID is given.
- *pager
- Defines the pager used by the thread. the current pager id
is not modified if L4_INVALID_ID is given.
- *old_flags
- Flags of the thread.
- *old_eip
- Old instruction pointer of the thread.
- *old_esp
- Old stack pointer of the thread.
4 Return Values
The thread id of the current thread is returned.
5 See Also
l4_fpage_unmap ,
l4_myself ,
l4_nchief ,
l4_thread_switch ,
l4_thread_schedule ,
l4_task_new
Ich