- Timestamp:
- 2016-04-27T12:39:14Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1a5eca4
- Parents:
- 8a36bc1e
- Location:
- uspace/lib/c/arch/ia32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia32/Makefile.common
r8a36bc1e rd6f9fff 28 28 29 29 ifeq ($(PROCESSOR),i486) 30 GCC_CFLAGS += -march=i486 - fno-omit-frame-pointer30 GCC_CFLAGS += -march=i486 -mno-tls-direct-seg-refs -fno-omit-frame-pointer 31 31 else 32 GCC_CFLAGS += -march=pentium - fno-omit-frame-pointer32 GCC_CFLAGS += -march=pentium -mno-tls-direct-seg-refs -fno-omit-frame-pointer 33 33 endif 34 34 -
uspace/lib/c/arch/ia32/include/libarch/tls.h
r8a36bc1e rd6f9fff 47 47 static inline void __tcb_set(tcb_t *tcb) 48 48 { 49 __SYSCALL1(SYS_TLS_SET, (sysarg_t) tcb);49 asm volatile ("movl %0, %%gs:0" :: "r" (tcb)); 50 50 } 51 51 … … 54 54 void *retval; 55 55 56 asm ( 57 "movl %%gs:0, %0" 58 : "=r" (retval) 59 ); 56 asm volatile ("movl %%gs:0, %0" : "=r" (retval)); 60 57 61 58 return retval; -
uspace/lib/c/arch/ia32/src/fibril.S
r8a36bc1e rd6f9fff 77 77 78 78 # set thread local storage 79 pushl %edx80 79 movl CONTEXT_OFFSET_TLS(%eax), %edx # Set arg1 to TLS addr 81 movl $1, %eax # Syscall SYS_TLS_SET 82 int $0x30 83 popl %edx 80 movl %edx, %gs:0 84 81 85 82 xorl %eax, %eax # context_restore returns 0
Note:
See TracChangeset
for help on using the changeset viewer.