Changeset fa23560 in mainline for uspace/lib/libc/arch/amd64/src/tls.c
- Timestamp:
- 2007-10-30T22:54:11Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4d21cf8
- Parents:
- b2a0f6dd
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/amd64/src/tls.c
rb2a0f6dd rfa23560 35 35 */ 36 36 37 #include <thread.h> 38 #include <malloc.h> 39 #include <align.h> 37 #include <tls.h> 38 #include <sys/types.h> 40 39 41 /** Allocate TLS & TCB for initial module threads42 *43 * @param data Start of data section44 * @return pointer to tcb_t structure45 */46 40 tcb_t * __alloc_tls(void **data, size_t size) 47 41 { 48 tcb_t *tcb; 49 50 size = ALIGN_UP(size, &_tls_alignment); 51 *data = memalign(&_tls_alignment, sizeof(tcb_t) + size); 52 53 tcb = (tcb_t *) (*data + size); 54 tcb->self = tcb; 55 56 return tcb; 42 return tls_alloc_variant_2(data, size); 57 43 } 58 44 59 45 void __free_tls_arch(tcb_t *tcb, size_t size) 60 46 { 61 size = ALIGN_UP(size, &_tls_alignment); 62 void *start = ((void *)tcb) - size; 63 free(start); 47 tls_free_variant_2(tcb, size); 64 48 } 65 49
Note:
See TracChangeset
for help on using the changeset viewer.