Changeset fa23560 in mainline for uspace/lib/libc/arch/ia64
- Timestamp:
- 2007-10-30T22:54:11Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4d21cf8
- Parents:
- b2a0f6dd
- Location:
- uspace/lib/libc/arch/ia64
- Files:
-
- 1 added
- 2 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/ia64/Makefile.inc
rb2a0f6dd rfa23560 38 38 ARCH_SOURCES += arch/$(ARCH)/src/syscall.S \ 39 39 arch/$(ARCH)/src/fibril.S \ 40 arch/$(ARCH)/src/t hread.c40 arch/$(ARCH)/src/tls.c 41 41 42 42 BFD_NAME = elf64-little -
uspace/lib/libc/arch/ia64/include/thread.h
rb2a0f6dd rfa23560 38 38 #define THREAD_INITIAL_STACK_PAGES_NO 2 39 39 40 /* This structure must be exactly 16 bytes long */41 typedef struct {42 void *dtv; /* unused in static linking*/43 void *fibril_data;44 } tcb_t;45 46 static inline void __tcb_set(tcb_t *tcb)47 {48 asm volatile ("mov r13 = %0\n" : : "r" (tcb) : "r13");49 }50 51 static inline tcb_t *__tcb_get(void)52 {53 void *retval;54 55 asm volatile ("mov %0 = r13\n" : "=r" (retval));56 57 return retval;58 }59 60 40 #endif 61 41 -
uspace/lib/libc/arch/ia64/src/tls.c
rb2a0f6dd rfa23560 35 35 */ 36 36 37 #include <t hread.h>37 #include <tls.h> 38 38 #include <malloc.h> 39 39 40 /** Allocate TLS & TCB for initial module threads41 *42 * @param data Start of data section43 * @return pointer to tcb_t structure44 */45 extern char _tdata_start;46 extern char _tbss_end;47 40 tcb_t * __alloc_tls(void **data, size_t size) 48 41 { 49 tcb_t *tcb; 50 51 /* ASSERT(sizeof(tcb_t) == 16); */ 52 53 tcb = malloc(sizeof(tcb_t) + size); 54 *data = ((void *) tcb) + 16; 55 56 return tcb; 42 return tls_alloc_variant_1(data, size); 57 43 } 58 44 59 45 void __free_tls_arch(tcb_t *tcb, size_t size) 60 46 { 61 free(tcb);47 tls_free_variant_1(tcb, size); 62 48 } 63 49
Note:
See TracChangeset
for help on using the changeset viewer.