RTEMS
Classes | Typedefs | Functions | Variables

Thread-Local Storage (TLS) More...

#include <rtems/score/cpu.h>
#include <string.h>

Go to the source code of this file.

Classes

struct  TLS_Dynamic_thread_vector
 
struct  TLS_Thread_control_block
 
struct  TLS_Index
 

Typedefs

typedef struct TLS_Thread_control_block TLS_Thread_control_block
 

Functions

static uintptr_t _TLS_Get_size (void)
 Gets the TLS size. More...
 
static uintptr_t _TLS_Heap_align_up (uintptr_t val)
 Returns the value aligned up to the heap alignment. More...
 
static uintptr_t _TLS_Get_thread_control_block_area_size (uintptr_t alignment)
 Returns the size of the thread control block area size for this alignment, or the minimum size if alignment is too small. More...
 
uintptr_t _TLS_Get_allocation_size (void)
 Return the TLS area allocation size. More...
 
static void * _TLS_Copy_and_clear (void *tls_area)
 Copies TLS size bytes from the address tls_area and returns a pointer to the start of the area after clearing it. More...
 
static void * _TLS_Initialize (void *tls_block, TLS_Thread_control_block *tcb, TLS_Dynamic_thread_vector *dtv)
 Initializes the dynamic thread vector. More...
 
static void * _TLS_TCB_at_area_begin_initialize (void *tls_area)
 Initializes a dynamic thread vector beginning at the given starting address. More...
 
static void * _TLS_TCB_before_TLS_block_initialize (void *tls_area)
 Initializes a dynamic thread vector with the area before a given starting address as thread control block. More...
 
static void * _TLS_TCB_after_TLS_block_initialize (void *tls_area)
 Initializes a dynamic thread vector with the area after a given starting address as thread control block. More...
 

Variables

char _TLS_Data_begin []
 
char _TLS_Data_end []
 
char _TLS_Data_size []
 
char _TLS_BSS_begin []
 
char _TLS_BSS_end []
 
char _TLS_BSS_size []
 
char _TLS_Size []
 
char _TLS_Alignment []
 The TLS section alignment. More...
 

Detailed Description

Thread-Local Storage (TLS)

Definition in file tls.h.