|
Files |
| file | atomic.h |
| | Atomic operations.
|
| file | config.h |
| | Configuration constants.
|
| file | ddi.h |
| file | faddr.h |
| | Function address conversion.
|
| file | fibril.h |
| | Fibrils related declarations.
|
| file | istate.h |
| file | stackarg.h |
| | Empty.
|
| file | stacktrace.c |
| file | syscall.c |
| | Syscall routine.
|
| file | syscall.h |
| file | thread.h |
| file | tls.c |
| file | tls.h |
| file | types.h |
| | Definitions of basic types like uintptr_t.
|
Data Structures |
| struct | context_t |
| | Fibril context. More...
|
| struct | tcb_t |
| | TCB (Thread Control Block) struct. More...
|
Defines |
|
#define | __32_BITS__ |
|
#define | ARM_TP_OFFSET (-8) |
| | Offsets for accessing thread-local variables are shifted 8 bytes higher.
|
|
#define | CAS |
|
#define | CONFIG_TLS_VARIANT_1 |
| #define | context_set(c, _pc, stack, size, ptls) |
| | Sets data to the context.
|
| #define | FADDR(f) (f) |
| | Calculate absolute address of function referenced by fptr pointer.
|
|
#define | FRAME_OFFSET_FP_PREV -12 |
|
#define | FRAME_OFFSET_RA -4 |
|
#define | LIBARCH_SYSCALL_GENERIC |
|
#define | LIBC_ARCH_ATOMIC_H_ |
|
#define | PAGE_SIZE (1 << PAGE_WIDTH) |
|
#define | PAGE_WIDTH 12 |
|
#define | PRIdn PRId32 |
| | Format for native_t.
|
|
#define | PRIua PRIu32 |
| | Format for atomic_count_t.
|
|
#define | PRIun PRIu32 |
| | Format for sysarg_t.
|
|
#define | PRIxn PRIx32 |
| | Format for hexadecimal sysarg_t.
|
|
#define | SIZE_MAX UINT32_MAX |
|
#define | SIZE_MIN UINT32_MIN |
|
#define | SP_DELTA (0 + ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT)) |
|
#define | SSIZE_MAX INT32_MAX |
|
#define | SSIZE_MIN INT32_MIN |
|
#define | STACK_ALIGNMENT 8 |
| | Stack alignment - see ABI for details.
|
|
#define | STACK_ITEM_SIZE 4 |
| | Size of a stack item.
|
Typedefs |
|
typedef uint32_t | atomic_count_t |
|
typedef int32_t | atomic_signed_t |
|
typedef uint32_t | size_t |
|
typedef int32_t | ssize_t |
|
typedef uint32_t | sysarg_t |
|
typedef uint32_t | uintptr_t |
Functions |
| uintptr_t | __aeabi_read_tp (void) |
| | Returns TLS address stored.
|
|
tcb_t * | __alloc_tls (void **data, size_t size) |
|
void | __free_tls_arch (tcb_t *tcb, size_t size) |
| sysarg_t | __syscall (const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, const sysarg_t p4, const sysarg_t p5, const sysarg_t p6, const syscall_t id) |
| | Syscall routine.
|
| static tcb_t * | __tcb_get (void) |
| | Returns TCB address.
|
| static void | __tcb_set (tcb_t *tcb) |
| | Sets TLS address to the r9 register.
|
| static atomic_count_t | atomic_add (atomic_t *val, atomic_count_t i) |
| | Atomic addition.
|
| static void | atomic_dec (atomic_t *val) |
| | Atomic decrement.
|
| static void | atomic_inc (atomic_t *val) |
| | Atomic increment.
|
| static atomic_count_t | atomic_postdec (atomic_t *val) |
| | Atomic post-decrement.
|
| static atomic_count_t | atomic_postinc (atomic_t *val) |
| | Atomic post-increment.
|
| static atomic_count_t | atomic_predec (atomic_t *val) |
| | Atomic pre-decrement.
|
| static atomic_count_t | atomic_preinc (atomic_t *val) |
| | Atomic pre-increment.
|
|
static bool | cas (atomic_t *val, atomic_count_t ov, atomic_count_t nv) |
|
static uintptr_t | context_get_fp (context_t *ctx) |
|
int | stacktrace_fp_prev (stacktrace_t *st, uintptr_t fp, uintptr_t *prev) |
|
bool | stacktrace_fp_valid (stacktrace_t *st, uintptr_t fp) |
|
int | stacktrace_ra_get (stacktrace_t *st, uintptr_t fp, uintptr_t *ra) |