Home
last modified time | relevance | path

Searched refs:GS (Results 1 – 19 of 19) sorted by relevance

/Linux-v5.10/Documentation/x86/x86_64/
Dfsgs.rst3 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
[all …]
/Linux-v5.10/tools/testing/selftests/x86/
Dfsgsbase.c117 enum which_base { FS, GS }; enumerator
169 base = read_base(GS); in check_gs_value()
203 base = read_base(GS); in mov_0_gs()
384 if (read_base(GS) != local) { in set_gs_and_switch_to()
392 local = read_base(GS); in set_gs_and_switch_to()
410 base = read_base(GS); in set_gs_and_switch_to()
435 base = read_base(GS); in test_unexpected_base()
/Linux-v5.10/tools/perf/arch/x86/tests/
Dregs_load.S19 #define GS 15 * 8 macro
52 movq $0, GS(%rdi)
89 movl $0, GS(%edi)
/Linux-v5.10/arch/x86/um/
Dptrace_64.c48 [GS >> 3] = HOST_GS,
81 case GS: in putreg()
157 case GS: in getreg()
Duser-offsets.c39 DEFINE(HOST_GS, GS); in foo()
68 DEFINE_LONGS(HOST_GS, GS); in foo()
Dptrace_32.c66 [GS] = HOST_GS,
97 case GS: in putreg()
150 case GS: in getreg()
Dsignal.c169 GETREG(GS, gs); in copy_sc_from_user()
248 PUTREG(GS, gs); in copy_sc_to_user()
/Linux-v5.10/arch/x86/kernel/
Dprocess_64.c150 GS enumerator
262 save_base_legacy(task, task->thread.gsindex, GS); in save_fsgs()
350 loadseg(GS, next->gsindex); in x86_fsgsbase_load()
359 next->gsindex, next->gsbase, GS); in x86_fsgsbase_load()
739 loadseg(GS, 0); in do_arch_prctl_64()
/Linux-v5.10/arch/x86/include/uapi/asm/
Dptrace-abi.h17 #define GS 10 macro
/Linux-v5.10/Documentation/x86/
Dentry_64.rst90 entry interrupting kernel mode execution, then we know that the GS
97 for GS is the slower method: the RDMSR.
108 that absolutely need the more expensive check for the GS base - and we
/Linux-v5.10/arch/x86/um/shared/sysdep/
Dptrace_64.h41 #define GS (HOST_GS * sizeof(long)) macro
/Linux-v5.10/arch/x86/um/os-Linux/
Dmcontext.c14 COPY_SEG(GS); COPY_SEG(FS); COPY_SEG(ES); COPY_SEG(DS); in get_regs_from_mc()
/Linux-v5.10/Documentation/admin-guide/hw-vuln/
Dspectre.rst87 a user GS.
163 the GS register to a user-space value, if the swapgs is speculatively
164 skipped, subsequent GS-related percpu accesses in the speculation
165 window will be done with the attacker-controlled GS value. This
178 swapgs, and then do a speculative percpu load using the user GS
185 speculatively do the swapgs, causing the user GS to get used for the
/Linux-v5.10/arch/alpha/
DKconfig123 Wildfire AlphaServer GS 40/80/160/320
310 AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
/Linux-v5.10/Documentation/filesystems/
Ddax.txt110 setting can be set, cleared and/or queried using the FS_IOC_FS[GS]ETXATTR ioctl
/Linux-v5.10/arch/x86/lib/
Dx86-opcode-map.txt148 65: SEG=GS (Prefix)
518 a8: PUSH GS (d64)
519 a9: POP GS (d64)
/Linux-v5.10/tools/arch/x86/lib/
Dx86-opcode-map.txt148 65: SEG=GS (Prefix)
518 a8: PUSH GS (d64)
519 a9: POP GS (d64)
/Linux-v5.10/drivers/net/usb/
DKconfig578 iPhone (Original, 3G and 3GS) to your system.
/Linux-v5.10/arch/x86/kvm/vmx/
Dvmx.c443 VMX_SEGMENT_FIELD(GS),