Barrelfish
Macros | Functions
ldt.c File Reference

Local descriptor table (LDT) management. More...

Macros

#define LDT_NENTRIES   512
 Number of entries in the statically-sized LDT.
 

Functions

void ldt_init_disabled (dispatcher_handle_t handle)
 Initialise private (per-dispatcher) LDT.
 
errval_t ldt_alloc_segment_disabled (dispatcher_handle_t handle, void *segbase, uint16_t *ret_selector)
 Allocate and fill a segment descriptor in the LDT. More...
 
errval_t ldt_alloc_segment (void *segbase, uint16_t *ret_selector)
 enabled version of ldt_alloc_segment_disabled() More...
 
errval_t ldt_free_segment_ondisp (dispatcher_handle_t handle, uint16_t selector)
 Free a previously-allocated segment on a specific dispatcher. More...
 
errval_t ldt_free_segment (uint16_t selector)
 Free a previously-allocated segment on the current dispatcher. More...
 
errval_t ldt_update_segment (uint16_t selector, void *segbase)
 Update the base address of a previously-allocated segment. More...
 

Detailed Description

Local descriptor table (LDT) management.

Function Documentation

errval_t ldt_alloc_segment ( void *  segbase,
uint16_t *  ret_selector 
)

enabled version of ldt_alloc_segment_disabled()

Exposed for calls by special-case software that needs to play with segments.

errval_t ldt_alloc_segment_disabled ( dispatcher_handle_t  handle,
void *  segbase,
uint16_t *  ret_selector 
)

Allocate and fill a segment descriptor in the LDT.

Parameters
handleDispatcher handle
segbaseBase of segment
ret_selectorOn success, used to return selector for new segment
errval_t ldt_free_segment ( uint16_t  selector)

Free a previously-allocated segment on the current dispatcher.

Parameters
selectorSegment selector
errval_t ldt_free_segment_ondisp ( dispatcher_handle_t  handle,
uint16_t  selector 
)

Free a previously-allocated segment on a specific dispatcher.

Parameters
handleDispatcher handle
selectorSegment selector
errval_t ldt_update_segment ( uint16_t  selector,
void *  segbase 
)

Update the base address of a previously-allocated segment.

Parameters
selectorSegment selector
segbaseNew base of segment