Lines Matching full:gs
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
37 The GS segment has no common use and can be used freely by
38 applications. GCC and Clang support GS based addressing via address space
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
79 RDGSBASE %reg Read the GS base register
81 WRGSBASE %reg Write the GS base register
85 more flexible usage of the FS/GS addressing modes in user space
98 the GS register and enforce them when GS base is set via
99 arch_prctl(). Allowing user space to write arbitrary values to GS base
133 _readfsbase_u64() Read the GS base register
135 _writegsbase_u64() Write the GS base register
141 Compiler support for FS/GS based addressing
144 GCC version 6 and newer provide support for FS/GS based addressing via
150 __seg_gs Variable is addressed relative to GS
167 /* Set GS base to point to data0 */
170 /* Access offset 0 of GS */
174 /* Set GS base to point to data1 */
185 __attribute__((address_space(256)) Variable is addressed relative to GS
189 FS/GS based addressing with inline assembly
193 be used for FS/GS based addressing mode::
196 mov %gs:offset, %reg
199 mov %reg, %gs:offset