Segment handling.
More...
Go to the source code of this file.
|
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.
|
|
long | fiasco_amd64_set_fs (l4_cap_idx_t thread, l4_umword_t base, l4_utcb_t *utcb) |
| Set the base address for the FS segment.
|
|
long | fiasco_amd64_set_segment_base (l4_cap_idx_t thread, enum L4_sys_segment segr, l4_umword_t base, l4_utcb_t *utcb) |
| Set the base address for a segment.
|
|
long | fiasco_amd64_segment_info (l4_cap_idx_t thread, unsigned *user_ds, unsigned *user_cs, unsigned *user32_cs, l4_utcb_t *utcb) |
| Get segment information.
|
|
Segment handling.
Definition in file segment.h.
◆ L4_sys_segment
Constants for identifying segments.
Enumerator |
---|
L4_AMD64_SEGMENT_FS | Constant identifying the FS segment.
|
L4_AMD64_SEGMENT_GS | Constant identifying the GS segment.
|
Definition at line 117 of file segment.h.
◆ L4_task_ldt_x86_consts
Contants for LDT handling.
Enumerator |
---|
L4_TASK_LDT_X86_ENTRY_SIZE | Size of an LDT entry.
|
L4_TASK_LDT_X86_MAX_ENTRIES | Maximum number of LDT entries that can be written with one call.
|
Definition at line 86 of file segment.h.
◆ fiasco_amd64_segment_info()
long fiasco_amd64_segment_info |
( |
l4_cap_idx_t |
thread, |
|
|
unsigned * |
user_ds, |
|
|
unsigned * |
user_cs, |
|
|
unsigned * |
user32_cs, |
|
|
l4_utcb_t * |
utcb |
|
) |
| |
|
inline |
◆ fiasco_amd64_set_fs()
Set the base address for the FS segment.
- Parameters
-
thread | Thread for which the FS base address shall be modified. |
base | Base address. |
utcb | UTCB to be used for this operation, shall be the UTCB of the calling thread. See l4_utcb. |
- Return values
-
L4_EOK | Success. |
-L4_EINVAL | Invalid base address (base ). |
-L4_ENOSYS | Operation not supported with current kernel configuration. |
- Note
- Calling this function is equivalent to calling
fiasco_amd64_set_segment_base(thread, L4_AMD64_SEGMENT_FS, base, utcb)
.
Definition at line 35 of file segment.h.
References L4_AMD64_SEGMENT_FS, l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_THREAD, L4_THREAD_AMD64_SET_SEGMENT_BASE_OP, and l4_msg_regs_t::mr.
◆ fiasco_amd64_set_segment_base()