L4Re - L4 Runtime Environment
segment.h File Reference

Segment handling. More...

#include <l4/sys/ipc.h>
#include <l4/sys/task.h>
#include <l4/sys/thread.h>
+ Include dependency graph for segment.h:

Go to the source code of this file.

Enumerations

enum  L4_task_ldt_x86_consts { L4_TASK_LDT_X86_ENTRY_SIZE = 8, L4_TASK_LDT_X86_MAX_ENTRIES, L4_TASK_LDT_X86_ENTRY_SIZE = 8, L4_TASK_LDT_X86_MAX_ENTRIES }
 Contants for LDT handling. More...
 

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. More...
 
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. More...
 
unsigned fiasco_gdt_get_entry_offset (l4_cap_idx_t thread, l4_utcb_t *utcb)
 Return the offset of the entry in the GDT. More...
 
long fiasco_amd64_set_fs (l4_cap_idx_t thread, l4_umword_t base, l4_utcb_t *utcb)
 Set the FS register. More...
 
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 FS register. More...
 
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. More...
 

Detailed Description

Segment handling.

Definition in file segment.h.

Enumeration Type Documentation

◆ 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.

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 76 of file segment.h.

Function Documentation

◆ 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

Get segment information.

Parameters
[in]threadThread to get info from.
[out]user_dsDS segment selector.
[out]user_cs64-bit CS segment selector.
[out]user32_cs32-bit CS segment selector.
[in]utcbUTCB of the caller.
Returns
System call error

Definition at line 158 of file segment.h.

◆ fiasco_amd64_set_fs()

long fiasco_amd64_set_fs ( l4_cap_idx_t  thread,
l4_umword_t  base,
l4_utcb_t utcb 
)
inline

Set the FS register.

Parameters
threadThread to get info from.
baseBase address.
utcbUTCB of the caller.
Returns
System call error

Definition at line 35 of file segment.h.

◆ fiasco_amd64_set_segment_base()

long fiasco_amd64_set_segment_base ( l4_cap_idx_t  thread,
enum L4_sys_segment  segr,
l4_umword_t  base,
l4_utcb_t utcb 
)
inline

Set the FS register.

Parameters
threadThread to get info from.
segrSegment register to set (one of L4_sys_segment).
baseBase address.
utcbUTCB of the caller.
Returns
System call error

Definition at line 43 of file segment.h.