HelenOS sources
tcb_t 48 uspace/lib/c/arch/abs32le/include/libarch/fibril.h (ctx)->tls = ((uintptr_t) (ptls)) + sizeof(tcb_t); \
tcb_t 36 uspace/lib/c/arch/abs32le/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 41 uspace/lib/c/arch/abs32le/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 44 uspace/lib/c/arch/amd64/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 49 uspace/lib/c/arch/amd64/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 44 uspace/lib/c/arch/arm32/include/libarch/tls.h #define ARCH_TP_OFFSET (sizeof(tcb_t) - 8)
tcb_t 45 uspace/lib/c/arch/arm32/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 50 uspace/lib/c/arch/arm32/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 42 uspace/lib/c/arch/arm64/include/libarch/tls.h #define ARCH_TP_OFFSET (sizeof(tcb_t) - 16)
tcb_t 38 uspace/lib/c/arch/arm64/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 43 uspace/lib/c/arch/arm64/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 47 uspace/lib/c/arch/ia32/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 52 uspace/lib/c/arch/ia32/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 44 uspace/lib/c/arch/ia64/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 49 uspace/lib/c/arch/ia64/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 56 uspace/lib/c/arch/mips32/include/libarch/fibril.h (c)->tls = ((sysarg_t)(ptls)) + 0x7000 + sizeof(tcb_t); \
tcb_t 63 uspace/lib/c/arch/mips32/include/libarch/tls.h #define ARCH_TP_OFFSET (0x7000 + sizeof(tcb_t))
tcb_t 39 uspace/lib/c/arch/mips32/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 44 uspace/lib/c/arch/mips32/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 53 uspace/lib/c/arch/ppc32/include/libarch/fibril.h (c)->tls = ((sysarg_t) (ptls)) + 0x7000 + sizeof(tcb_t); \
tcb_t 42 uspace/lib/c/arch/ppc32/include/libarch/tls.h #define ARCH_TP_OFFSET (0x7000 + sizeof(tcb_t))
tcb_t 43 uspace/lib/c/arch/ppc32/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 48 uspace/lib/c/arch/ppc32/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 47 uspace/lib/c/arch/riscv64/include/libarch/fibril.h (ctx)->x4 = ((uintptr_t) (ptls)) + sizeof(tcb_t); \
tcb_t 35 uspace/lib/c/arch/riscv64/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 40 uspace/lib/c/arch/riscv64/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 44 uspace/lib/c/arch/sparc64/src/tls.c tcb_t *tls_alloc_arch(size_t size, size_t align)
tcb_t 49 uspace/lib/c/arch/sparc64/src/tls.c void tls_free_arch(tcb_t *tcb, size_t size, size_t align)
tcb_t 56 uspace/lib/c/generic/private/fibril.h tcb_t *tcb;
tcb_t 367 uspace/lib/c/generic/rtld/module.c rtld->tls_size = sizeof(tcb_t);
tcb_t 368 uspace/lib/c/generic/rtld/module.c rtld->tls_align = alignof(tcb_t);
tcb_t 381 uspace/lib/c/generic/rtld/module.c rtld->tls_align = alignof(tcb_t);
tcb_t 406 uspace/lib/c/generic/rtld/module.c rtld->tls_size += sizeof(tcb_t);
tcb_t 151 uspace/lib/c/generic/rtld/rtld.c tcb_t *rtld_tls_make(rtld_t *rtld)
tcb_t 153 uspace/lib/c/generic/rtld/rtld.c tcb_t *tcb;
tcb_t 213 uspace/lib/c/generic/rtld/rtld.c void *rtld_tls_get_addr(rtld_t *rtld, tcb_t *tcb, unsigned long mod_id,
tcb_t 275 uspace/lib/c/generic/rtld/symbol.c void *symbol_get_addr(elf_symbol_t *sym, module_t *m, tcb_t *tcb)
tcb_t 164 uspace/lib/c/generic/thread/fibril.c tcb_t *tcb = tls_make(__progsymbols.elfstart);
tcb_t 754 uspace/lib/c/generic/thread/fibril.c tcb_t *tcb = __tcb_get();
tcb_t 69 uspace/lib/c/generic/thread/tls.c return ALIGN_UP((ptrdiff_t) sizeof(tcb_t), tls_align);
tcb_t 72 uspace/lib/c/generic/thread/tls.c return -ALIGN_UP((ptrdiff_t) tls_size, max(tls_align, alignof(tcb_t)));
tcb_t 85 uspace/lib/c/generic/thread/tls.c static tcb_t *tls_make_generic(const void *elf, void *(*alloc)(size_t, size_t))
tcb_t 104 uspace/lib/c/generic/thread/tls.c ALIGN_UP(sizeof(tcb_t), tls_align) + tls_size;
tcb_t 107 uspace/lib/c/generic/thread/tls.c ALIGN_UP(tls_size, max(tls_align, alignof(tcb_t))) + sizeof(tcb_t);
tcb_t 110 uspace/lib/c/generic/thread/tls.c void *area = alloc(max(tls_align, alignof(tcb_t)), alloc_size);
tcb_t 115 uspace/lib/c/generic/thread/tls.c tcb_t *tcb = area;
tcb_t 120 uspace/lib/c/generic/thread/tls.c tcb_t *tcb = (tcb_t *) (data - _tcb_data_offset());
tcb_t 121 uspace/lib/c/generic/thread/tls.c memset(tcb, 0, sizeof(tcb_t));
tcb_t 153 uspace/lib/c/generic/thread/tls.c tcb_t *tls_make_initial(const void *elf)
tcb_t 162 uspace/lib/c/generic/thread/tls.c tcb_t *tls_make(const void *elf)
tcb_t 174 uspace/lib/c/generic/thread/tls.c void tls_free(tcb_t *tcb)
tcb_t 189 uspace/lib/c/generic/thread/tls.c ALIGN_UP(tls->p_memsz, tls->p_align) + sizeof(tcb_t),
tcb_t 190 uspace/lib/c/generic/thread/tls.c max(tls->p_align, alignof(tcb_t)));
tcb_t 200 uspace/lib/c/generic/thread/tls.c tcb_t *tls_alloc_variant_1(size_t size, size_t align)
tcb_t 202 uspace/lib/c/generic/thread/tls.c tcb_t *tcb = memalign(align, size);
tcb_t 205 uspace/lib/c/generic/thread/tls.c memset(tcb, 0, sizeof(tcb_t));
tcb_t 214 uspace/lib/c/generic/thread/tls.c void tls_free_variant_1(tcb_t *tcb, size_t size, size_t align)
tcb_t 229 uspace/lib/c/generic/thread/tls.c tcb_t *tls_alloc_variant_2(size_t size, size_t align)
tcb_t 235 uspace/lib/c/generic/thread/tls.c tcb_t *tcb = (tcb_t *) (data + size - sizeof(tcb_t));
tcb_t 236 uspace/lib/c/generic/thread/tls.c memset(tcb, 0, sizeof(tcb_t));
tcb_t 247 uspace/lib/c/generic/thread/tls.c void tls_free_variant_2(tcb_t *tcb, size_t size, size_t align)
tcb_t 250 uspace/lib/c/generic/thread/tls.c void *start = ((void *) tcb) + sizeof(tcb_t) - size;
tcb_t 81 uspace/lib/c/include/loader/pcb.h tcb_t *tcb;
tcb_t 49 uspace/lib/c/include/rtld/rtld.h extern tcb_t *rtld_tls_make(rtld_t *);
tcb_t 51 uspace/lib/c/include/rtld/rtld.h extern void *rtld_tls_get_addr(rtld_t *, tcb_t *, unsigned long, unsigned long);
tcb_t 53 uspace/lib/c/include/rtld/symbol.h extern void *symbol_get_addr(elf_symbol_t *, module_t *, tcb_t *);
tcb_t 48 uspace/lib/c/include/tls.h static inline void __tcb_set(tcb_t *tcb)
tcb_t 53 uspace/lib/c/include/tls.h static inline tcb_t *__tcb_get(void)
tcb_t 55 uspace/lib/c/include/tls.h return (tcb_t *)((uint8_t *)__tcb_raw_get() - ARCH_TP_OFFSET);
tcb_t 70 uspace/lib/c/include/tls.h extern tcb_t *tls_make(const void *);
tcb_t 71 uspace/lib/c/include/tls.h extern tcb_t *tls_make_initial(const void *);
tcb_t 72 uspace/lib/c/include/tls.h extern tcb_t *tls_alloc_arch(size_t, size_t);
tcb_t 73 uspace/lib/c/include/tls.h extern void tls_free(tcb_t *);
tcb_t 74 uspace/lib/c/include/tls.h extern void tls_free_arch(tcb_t *, size_t, size_t);
tcb_t 78 uspace/lib/c/include/tls.h extern tcb_t *tls_alloc_variant_1(size_t, size_t);
tcb_t 79 uspace/lib/c/include/tls.h extern void tls_free_variant_1(tcb_t *, size_t, size_t);
tcb_t 83 uspace/lib/c/include/tls.h extern tcb_t *tls_alloc_variant_2(size_t, size_t);
tcb_t 84 uspace/lib/c/include/tls.h extern void tls_free_variant_2(tcb_t *, size_t, size_t);
tcb_t 81 uspace/lib/posix/include/libc/loader/pcb.h tcb_t *tcb;
tcb_t 49 uspace/lib/posix/include/libc/rtld/rtld.h extern tcb_t *rtld_tls_make(rtld_t *);
tcb_t 51 uspace/lib/posix/include/libc/rtld/rtld.h extern void *rtld_tls_get_addr(rtld_t *, tcb_t *, unsigned long, unsigned long);
tcb_t 53 uspace/lib/posix/include/libc/rtld/symbol.h extern void *symbol_get_addr(elf_symbol_t *, module_t *, tcb_t *);
tcb_t 48 uspace/lib/posix/include/libc/tls.h static inline void __tcb_set(tcb_t *tcb)
tcb_t 53 uspace/lib/posix/include/libc/tls.h static inline tcb_t *__tcb_get(void)
tcb_t 55 uspace/lib/posix/include/libc/tls.h return (tcb_t *)((uint8_t *)__tcb_raw_get() - ARCH_TP_OFFSET);
tcb_t 70 uspace/lib/posix/include/libc/tls.h extern tcb_t *tls_make(const void *);
tcb_t 71 uspace/lib/posix/include/libc/tls.h extern tcb_t *tls_make_initial(const void *);
tcb_t 72 uspace/lib/posix/include/libc/tls.h extern tcb_t *tls_alloc_arch(size_t, size_t);
tcb_t 73 uspace/lib/posix/include/libc/tls.h extern void tls_free(tcb_t *);
tcb_t 74 uspace/lib/posix/include/libc/tls.h extern void tls_free_arch(tcb_t *, size_t, size_t);
tcb_t 78 uspace/lib/posix/include/libc/tls.h extern tcb_t *tls_alloc_variant_1(size_t, size_t);
tcb_t 79 uspace/lib/posix/include/libc/tls.h extern void tls_free_variant_1(tcb_t *, size_t, size_t);
tcb_t 83 uspace/lib/posix/include/libc/tls.h extern tcb_t *tls_alloc_variant_2(size_t, size_t);
tcb_t 84 uspace/lib/posix/include/libc/tls.h extern void tls_free_variant_2(tcb_t *, size_t, size_t);
HelenOS homepage, sources at GitHub