Lines Matching full:fs
3 Using FS and GS segments in user space applications
22 always 0 to provide a full 64bit address space. The FS and GS segments are
25 Common FS and GS usage
28 The FS segment is commonly used to address Thread Local Storage (TLS). FS
31 thread and the compiler emits the FS: address prefix for accesses to these
32 variables. Each thread has its own FS base address so common code can be
34 instances. Applications should not use FS for other purposes when they use
35 runtimes or threading libraries which manage the per thread FS.
41 Reading and writing the FS/GS base address
44 There exist two mechanisms to read and write the FS/GS base address:
50 Accessing FS/GS base with arch_prctl()
69 Accessing FS/GS base with the FSGSBASE instructions
73 instructions to access the FS and GS base registers directly from user
78 RDFSBASE %reg Read the FS base register
80 WRFSBASE %reg Write the FS base register
85 more flexible usage of the FS/GS addressing modes in user space
87 and runtimes which utilize FS and applications which want to use it for
132 _readfsbase_u64() Read the FS base register
134 _writefsbase_u64() Write the FS base register
141 Compiler support for FS/GS based addressing
144 GCC version 6 and newer provide support for FS/GS based addressing via
149 __seg_fs Variable is addressed relative to FS
186 __attribute__((address_space(257)) Variable is addressed relative to FS
189 FS/GS based addressing with inline assembly
193 be used for FS/GS based addressing mode::
195 mov %fs:offset, %reg
198 mov %reg, %fs:offset