Changeset 74359c6 in mainline for uspace/libc/arch


Ignore:
Timestamp:
2006-12-30T13:36:13Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
33c0c649
Parents:
66eb2c8
Message:

Improve comments and fix formatting in (sparc64) TLS implementation.
Improve some comments and formatting in sparc64 uspace thread library
code.

Update required msim version.

Location:
uspace/libc/arch/sparc64
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/libc/arch/sparc64/include/thread.h

    r66eb2c8 r74359c6  
    3434 * @file
    3535 * @brief       sparc64 TLS functions.
    36  *
    37  * The implementation is based on the IA-32 implementation which was also
    38  * designed by Sun and is virtually the same, except the TCB is stored in
    39  * %g7 (of the normal set).
    4036 */
    4137
  • uspace/libc/arch/sparc64/src/psthread.S

    r66eb2c8 r74359c6  
    2929#include <libarch/context_offset.h>
    3030
    31 /**
    32  * Both context_save_arch() and context_restore_arch() are
    33  * leaf-optimized procedures. This kind of optimization
    34  * is very important and prevents any implicit window
    35  * spill/fill/clean traps in these very core kernel
    36  * functions.
    37  */
    38        
    3931.text   
    4032
  • uspace/libc/arch/sparc64/src/thread.c

    r66eb2c8 r74359c6  
    3838#include <malloc.h>
    3939
    40 /** Allocate TLS & TCB for initial module threads
     40/*
     41 * sparc64 uses thread-local storage data structures, variant II, as described
     42 * in:
     43 *      Drepper U.: ELF Handling For Thread-Local Storage, 2005
     44 */
     45
     46/** Allocate TLS variant II data structures for a thread.
    4147 *
    42  * @param data Start of data section
    43  * @return pointer to tcb_t structure
     48 * Only static model is supported.
     49 *
     50 * @param data Pointer to pointer to thread local data. This is actually an
     51 *      output argument.
     52 * @param size Size of thread local data.
     53 * @return Pointer to TCB structure.
    4454 */
    4555tcb_t * __alloc_tls(void **data, size_t size)
     
    5565}
    5666
     67/** Free TLS variant II data structures of a thread.
     68 *
     69 * Only static model is supported.
     70 *
     71 * @param tcb Pointer to TCB structure.
     72 * @param size Size of thread local data.
     73 */
    5774void __free_tls_arch(tcb_t *tcb, size_t size)
    5875{
    59         void *start = ((void *)tcb) - size;
     76        void *start = ((void *) tcb) - size;
    6077        free(start);
    6178}
Note: See TracChangeset for help on using the changeset viewer.