Files | |
file | arch/mips32/include/atomic.h |
file | arch/mips32/include/endian.h |
file | arch/mips32/include/limits.h |
file | arch/mips32/include/psthread.h |
file | stackarg.h |
file | arch/mips32/include/thread.h |
file | arch/mips32/include/types.h |
file | syscall.c |
file | arch/mips32/src/thread.c |
Data Structures | |
struct | context_t |
struct | tcb_t |
Defines | |
#define | atomic_inc(x) ((void) atomic_add(x, 1)) |
#define | atomic_dec(x) ((void) atomic_add(x, -1)) |
#define | atomic_postinc(x) (atomic_add(x, 1) - 1) |
#define | atomic_postdec(x) (atomic_add(x, -1) + 1) |
#define | atomic_preinc(x) atomic_add(x, 1) |
#define | atomic_predec(x) atomic_add(x, -1) |
#define | __BYTE_ORDER __LITTLE_ENDIAN |
#define | LONG_MIN MIN_INT32 |
#define | LONG_MAX MAX_INT32 |
#define | ULONG_MIN MIN_UINT32 |
#define | ULONG_MAX MAX_UINT32 |
#define | context_set(c, _pc, stack, size, ptls) |
#define | SP_DELTA (8+16) |
#define | __VARARGS_DEFINED |
#define | va_start(ap, lst) ((ap) = (va_list)&(lst) + sizeof(lst)) |
#define | va_arg(ap, type) (((type *)((ap) = (va_list)( (sizeof(type) <= 4) ? ((uint32_t)((ap) + 2*4 - 1) & (~3)) : ((uint32_t)((ap) + 2*8 -1) & (~7)) )))[-1]) |
#define | va_end(ap) |
#define | MIPS_TP_OFFSET 0x7000 |
Typedefs | |
typedef uint8_t * | va_list |
typedef unsigned int | sysarg_t |
typedef unsigned int | size_t |
typedef signed int | ssize_t |
typedef ssize_t | off_t |
typedef char | int8_t |
typedef short int | int16_t |
typedef long int | int32_t |
typedef long long int | int64_t |
typedef unsigned char | uint8_t |
typedef unsigned short int | uint16_t |
typedef unsigned long int | uint32_t |
typedef unsigned long long int | uint64_t |
Functions | |
static long | atomic_add (atomic_t *val, int i) |
static void | __tcb_set (tcb_t *tcb) |
static tcb_t * | __tcb_get (void) |
sysarg_t | __syscall (const sysarg_t p1, const sysarg_t p2, const sysarg_t p3, const sysarg_t p4, const syscall_t id) |
tcb_t * | __alloc_tls (void **data, size_t size) |
void | __free_tls_arch (tcb_t *tcb, size_t size) |
|
Definition at line 39 of file arch/mips32/include/atomic.h. Referenced by futex_down_timeout(). |
|
Definition at line 40 of file arch/mips32/include/atomic.h. |
|
Definition at line 42 of file arch/mips32/include/atomic.h. Referenced by futex_up(). |
|
Definition at line 43 of file arch/mips32/include/atomic.h. |
|
Definition at line 45 of file arch/mips32/include/atomic.h. |
|
Definition at line 46 of file arch/mips32/include/atomic.h. Referenced by futex_down_timeout(). |
|
Definition at line 44 of file arch/mips32/include/endian.h. |
|
Definition at line 39 of file arch/mips32/include/limits.h. Referenced by strtol(). |
|
Definition at line 40 of file arch/mips32/include/limits.h. Referenced by strtol(). |
|
Definition at line 41 of file arch/mips32/include/limits.h. |
|
Definition at line 42 of file arch/mips32/include/limits.h. Referenced by _strtoul(). |
|
Value: (c)->pc = (sysarg_t) (_pc); \ (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \ (c)->tls = ((sysarg_t)(ptls)) + 0x7000 + sizeof(tcb_t); Definition at line 46 of file arch/mips32/include/psthread.h. Referenced by psthread_create(). |
|
Definition at line 55 of file arch/mips32/include/psthread.h. |
|
Definition at line 40 of file stackarg.h. |
|
Definition at line 51 of file stackarg.h. Referenced by printf(), snprintf(), and sprintf(). |
|
Definition at line 54 of file stackarg.h. Referenced by printf_core(). |
|
Definition at line 57 of file stackarg.h. Referenced by printf(), snprintf(), and sprintf(). |
|
Definition at line 53 of file arch/mips32/include/thread.h. Referenced by __tcb_get(), and __tcb_set(). |
|
va_arg macro for MIPS32 - problem is that 64 bit values must be aligned on an 8-byte boundary (32bit values not) To satisfy this, paddings must be sometimes inserted. Definition at line 49 of file stackarg.h. |
|
Definition at line 39 of file arch/mips32/include/types.h. |
|
Definition at line 40 of file arch/mips32/include/types.h. |
|
Definition at line 41 of file arch/mips32/include/types.h. |
|
Definition at line 42 of file arch/mips32/include/types.h. |
|
Definition at line 44 of file arch/mips32/include/types.h. |
|
Definition at line 45 of file arch/mips32/include/types.h. |
|
Definition at line 46 of file arch/mips32/include/types.h. |
|
Definition at line 47 of file arch/mips32/include/types.h. |
|
Definition at line 49 of file arch/mips32/include/types.h. |
|
Definition at line 50 of file arch/mips32/include/types.h. |
|
Definition at line 51 of file arch/mips32/include/types.h. |
|
Definition at line 52 of file arch/mips32/include/types.h. |
|
Definition at line 55 of file arch/mips32/include/atomic.h. References atomic::count. |
|
Definition at line 59 of file arch/mips32/include/thread.h. References MIPS_TP_OFFSET. Referenced by __main(), and __thread_main(). |
|
Definition at line 67 of file arch/mips32/include/thread.h. References MIPS_TP_OFFSET. Referenced by __exit(), psthread_get_id(), psthread_main(), and psthread_schedule_next_adv(). |
|
|
|
Allocate TLS & TCB for initial module threads
Definition at line 45 of file arch/mips32/src/thread.c. Referenced by __make_tls(). |
|
Definition at line 54 of file arch/mips32/src/thread.c. Referenced by __free_tls(). |