Loading...
Searching...
No Matches
segment.h File Reference
Base API » Fiasco extensions

l4f-specific fs/gs manipulation (AMD64). More...

`#include <l4/sys/compiler.h>`
Include dependency graph for segment.h:

Go to the source code of this file.

## Functions

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

## Detailed Description

l4f-specific fs/gs manipulation (AMD64).

Definition in file segment.h.

## Function Documentation

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

References L4_AMD64_SEGMENT_FS, l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_THREAD, and L4_THREAD_AMD64_SET_SEGMENT_BASE_OP.

Here is the call graph for this function:

## 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 base address for a segment.

Parameters

  thread | Thread for which the base address of the selected segment shall be modified.
  segr | Segment to modify (one of L4_sys_segment).
  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 segment (`segr`) or base address (`base`).
  -L4_ENOSYS | Operation not supported with current kernel configuration.

Definition at line 32 of file segment.h.

References l4_ipc_call(), L4_IPC_NEVER, l4_msgtag(), L4_PROTO_THREAD, and L4_THREAD_AMD64_SET_SEGMENT_BASE_OP.

Here is the call graph for this function: