| /linux/Documentation/arch/x86/x86_64/ |
| H A D | fsgs.rst | 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 [all …]
|
| H A D | fred.rst | 32 instruction (LKGS) for managing the state of the GS segment register. 71 LKGS behaves like the MOV to GS instruction except that it loads the 72 base address into the IA32_KERNEL_GS_BASE MSR instead of the GS 74 mucking with kernel GS, i.e., an operating system can always operate 75 with its own GS base address. 78 of the GS base address and that of the IA32_KERNEL_GS_BASE MSR, plus
|
| /linux/tools/testing/selftests/x86/ |
| H A D | fsgsbase.c | 92 enum which_base { FS, GS }; enumerator 144 base = read_base(GS); in check_gs_value() 178 base = read_base(GS); in mov_0_gs() 358 if (read_base(GS) != local) { in set_gs_and_switch_to() 366 local = read_base(GS); in set_gs_and_switch_to() 384 base = read_base(GS); in set_gs_and_switch_to() 417 base = read_base(GS); in test_unexpected_base()
|
| /linux/drivers/gpu/drm/ci/xfails/ |
| H A D | vkms-none-skips.txt | 20 # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 54 # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 71 # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 105 # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 122 # FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000 156 # FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000 173 # FS: 0000000000000000(0000) GS:ffffa2c1abc00000(0000) knlGS:0000000000000000 224 # FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000 258 # FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000 277 # FS: 00007f0942ad56c0(0000) GS:ffff8e726bd00000(0000) knlGS:0000000000000000 [all …]
|
| H A D | i915-kbl-skips.txt | 61 # FS: 00007f74989c46c0(0000) GS:ffff9534eed00000(0000) knlGS:0000000000000000 114 # FS: 00007f74989c46c0(0000) GS:ffff9534eec40000(0000) knlGS:0000000000000000
|
| H A D | i915-glk-skips.txt | 49 # FS: 00007fbf1f4486c0(0000) GS:ffff9349fbc00000(0000) knlGS:0000000000000000 196 # FS: 00007f6b0c60d6c0(0000) GS:ffff9885fbd00000(0000) knlGS:0000000000000000
|
| /linux/tools/perf/arch/x86/tests/ |
| H A D | regs_load.S | 19 #define GS 15 * 8 macro 52 movq $0, GS(%rdi) 89 movl $0, GS(%edi)
|
| /linux/arch/x86/um/ |
| H A D | ptrace_32.c | 42 [GS] = HOST_GS, 73 case GS: in putreg() 126 case GS: in getreg()
|
| H A D | ptrace_64.c | 50 [GS >> 3] = HOST_GS, 83 case GS: in putreg() 159 case GS: in getreg()
|
| H A D | user-offsets.c | 38 DEFINE(HOST_GS, GS); in foo() 62 DEFINE_LONGS(HOST_GS, GS); in foo()
|
| H A D | signal.c | 50 GETREG(GS, gs); in copy_sc_from_user() 122 PUTREG(GS, gs); in copy_sc_to_user()
|
| /linux/arch/arm/boot/dts/microchip/ |
| H A D | lan966x-kontron-kswitch-d10-mmt-6g-2gs.dts | 3 * Device Tree file for the Kontron KSwitch D10 MMT 6G-2GS 10 model = "Kontron KSwitch D10 MMT 6G-2GS";
|
| /linux/arch/x86/kernel/ |
| H A D | process_64.c | 155 GS enumerator 290 save_base_legacy(task, task->thread.gsindex, GS); in save_fsgs() 399 loadseg(GS, next->gsindex); in x86_fsgsbase_load() 408 next->gsindex, next->gsbase, GS); in x86_fsgsbase_load() 883 loadseg(GS, 0); in do_arch_prctl_64()
|
| /linux/Documentation/arch/x86/ |
| H A D | entry_64.rst | 90 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/arch/x86/include/uapi/asm/ |
| H A D | ptrace-abi.h | 17 #define GS 10 macro
|
| /linux/arch/x86/um/shared/sysdep/ |
| H A D | ptrace_64.h | 39 #define GS (HOST_GS * sizeof(long)) macro
|
| /linux/arch/x86/um/os-Linux/ |
| H A D | mcontext.c | 19 COPY_SEG(GS); COPY_SEG(FS); COPY_SEG(ES); COPY_SEG(DS); in get_regs_from_mc() 63 COPY_SEG(GS); COPY_SEG(FS); COPY_SEG(ES); COPY_SEG(DS); in get_mc_from_regs()
|
| /linux/arch/arm64/boot/dts/amlogic/ |
| H A D | meson-g12b-gsking-x.dts | 16 model = "Beelink GS-King X";
|
| /linux/Documentation/admin-guide/hw-vuln/ |
| H A D | spectre.rst | 87 a user GS. 175 the GS register to a user-space value, if the swapgs is speculatively 176 skipped, subsequent GS-related percpu accesses in the speculation 177 window will be done with the attacker-controlled GS value. This 190 swapgs, and then do a speculative percpu load using the user GS 197 speculatively do the swapgs, causing the user GS to get used for the
|
| /linux/arch/alpha/ |
| H A D | Kconfig | 109 Wildfire AlphaServer GS 40/80/160/320 224 AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
|
| /linux/arch/um/os-Linux/skas/ |
| H A D | process.c | 83 R(GS); in ptrace_reg_name()
|
| /linux/Documentation/filesystems/ |
| H A D | dax.rst | 105 setting can be set, cleared and/or queried using the `FS_IOC_FS`[`GS`]`ETXATTR` ioctl
|
| /linux/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 158 65: SEG=GS (Prefix) 528 a8: PUSH GS (d64) 529 a9: POP GS (d64)
|
| /linux/tools/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 158 65: SEG=GS (Prefix) 528 a8: PUSH GS (d64) 529 a9: POP GS (d64)
|
| /linux/tools/arch/x86/kcpuid/ |
| H A D | cpuid.csv | 281 0x7, 1, eax, 18, lkgs , LKGS: Load 'kernel' (userspace) GS 1013 0x80000021, 0, eax, 1, fsgs_non_serializing , WRMSR to {FS,GS,KERNEL_GS}_BASE i…
|