Changeset fa23560 in mainline for uspace/lib/libc/arch/amd64/src/tls.c


Ignore:
Timestamp:
2007-10-30T22:54:11Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4d21cf8
Parents:
b2a0f6dd
Message:

Unify implementations of TLS variant I and variant II alloc_tls() and
free_tls_arch().

File:
1 moved

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/arch/amd64/src/tls.c

    rb2a0f6dd rfa23560  
    3535 */
    3636
    37 #include <thread.h>
    38 #include <malloc.h>
    39 #include <align.h>
     37#include <tls.h>
     38#include <sys/types.h>
    4039
    41 /** Allocate TLS & TCB for initial module threads
    42  *
    43  * @param data Start of data section
    44  * @return pointer to tcb_t structure
    45  */
    4640tcb_t * __alloc_tls(void **data, size_t size)
    4741{
    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);
    5743}
    5844
    5945void __free_tls_arch(tcb_t *tcb, size_t size)
    6046{
    61         size = ALIGN_UP(size, &_tls_alignment);
    62         void *start = ((void *)tcb) - size;
    63         free(start);
     47        tls_free_variant_2(tcb, size);
    6448}
    6549
Note: See TracChangeset for help on using the changeset viewer.