![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Extensions of the Fiasco L4 implementation. More...
Modules | |
Kernel Debugger | |
Kernel debugger related functionality. | |
Kernel Information Dump | |
Kernel information dumping related functionality. | |
Kernel Tracing | |
Kernel tracing related functionality. | |
Files | |
file | __ktrace-impl.h |
L4 kernel event tracing. | |
file | ktrace.h |
L4 kernel event tracing. | |
file | obj_info.h |
Debugger related functions. | |
file | segment.h |
l4f-specific fs/gs manipulation (AMD64). | |
file | segment.h |
Segment handling (AMD64). | |
file | segment.h |
l4f-specific segment manipulation (x86). | |
file | segment.h |
Segment handling (x86). | |
Functions | |
long | fiasco_ldt_set (l4_cap_idx_t task, void *ldt, unsigned int num_desc, unsigned int entry_number_start, l4_utcb_t *utcb) |
Set LDT segments descriptors. | |
long | fiasco_gdt_set (l4_cap_idx_t thread, void *desc, unsigned int size, unsigned int entry_number_start, l4_utcb_t *utcb) |
Set GDT segment descriptors. | |
unsigned | fiasco_gdt_get_entry_offset (l4_cap_idx_t thread, l4_utcb_t *utcb) |
Return the offset of the entry in the GDT. | |
Extensions of the Fiasco L4 implementation.
|
inline |
Return the offset of the entry in the GDT.
thread | Thread to get info from. |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
Definition at line 166 of file segment.h.
References l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_THREAD, L4_THREAD_X86_GDT_OP, and l4_msg_regs_t::mr.
|
inline |
Set GDT segment descriptors.
Fiasco supports 4 consecutive entries, starting at the value returned by fiasco_gdt_get_entry_offset().
thread | Thread to set the GDT entry for. |
desc | Pointer to GDT descriptors. |
size | Size of the descriptors in bytes (multiple of 8). |
entry_number_start | Entry number to start (valid values: 0-3). |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
<0 | At least one provided GDT descriptor is considered unsafe by the kernel, and not all selected GDT descriptors have been updated. |
L4_EOK | Success. |
Definition at line 41 of file segment.h.
References l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_THREAD, L4_THREAD_X86_GDT_OP, and l4_msg_regs_t::mr.
|
inline |
Set LDT segments descriptors.
task | Task to set the segment for. |
ldt | Pointer to LDT hardware descriptors. |
num_desc | Number of descriptors. |
entry_number_start | Entry number to start. |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
-L4_ENOSYS | The kernel configuration doesn't support this feature. |
-L4_EINVAL | Invalid descriptor or invalid entry number. |
L4_EOK | Success. |
Definition at line 153 of file segment.h.
References L4_EINVAL, l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_TASK, L4_TASK_LDT_SET_X86_OP, L4_TASK_LDT_X86_ENTRY_SIZE, L4_TASK_LDT_X86_MAX_ENTRIES, and l4_msg_regs_t::mr.