summaryrefslogtreecommitdiff
path: root/src/thread/x86_64/__set_thread_area.s
blob: ed35b7a809b71fc39e168e5998421916ce0d85f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __set_thread_area
.type   __set_thread_area,%function
__set_thread_area:
        push %rbx               /* save x86_64 abi clobbered registers */
        push %r11
        mov %rdi,%rsi           /* shift for syscall */
        movl $0x1002,%edi       /* SET_FS register */
        movl $158,%eax          /* set fs segment to */
        syscall                 /* arch_prctl(SET_FS, arg)*/
        pop %r11                /* restore clobbered registers */
        pop %rbx
	ret
.size __set_thread_area,.-__set_thread_area