| /linux-6.15/Documentation/arch/x86/x86_64/ |
| H A D | fsgs.rst | 3 Using FS and GS segments in user space applications 25 Common FS and GS usage 41 Reading and writing the FS/GS base address 50 Accessing FS/GS base with arch_prctl() 79 RDGSBASE %reg Read the GS base register 81 WRGSBASE %reg Write the GS base register 98 the GS register and enforce them when GS base is set via 167 /* Set GS base to point to data0 */ 170 /* Access offset 0 of GS */ 174 /* Set GS base to point to data1 */ [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-6.15/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-6.15/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-6.15/drivers/gpu/drm/ci/xfails/ |
| H A D | vkms-none-skips.txt | 19 # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 53 # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 70 # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 104 # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 121 # FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000 155 # FS: 0000000000000000(0000) GS:ffff8b126bd00000(0000) knlGS:0000000000000000 172 # FS: 0000000000000000(0000) GS:ffffa2c1abc00000(0000) knlGS:0000000000000000 223 # FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000 257 # FS: 0000000000000000(0000) GS:ffffa0e86bc00000(0000) knlGS:0000000000000000 276 # FS: 00007f0942ad56c0(0000) GS:ffff8e726bd00000(0000) knlGS:0000000000000000 [all …]
|
| H A D | i915-kbl-skips.txt | 60 # FS: 00007f74989c46c0(0000) GS:ffff9534eed00000(0000) knlGS:0000000000000000 113 # FS: 00007f74989c46c0(0000) GS:ffff9534eec40000(0000) knlGS:0000000000000000
|
| H A D | i915-glk-skips.txt | 48 # FS: 00007fbf1f4486c0(0000) GS:ffff9349fbc00000(0000) knlGS:0000000000000000 195 # FS: 00007f6b0c60d6c0(0000) GS:ffff9885fbd00000(0000) knlGS:0000000000000000
|
| /linux-6.15/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-6.15/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-6.15/arch/x86/kernel/ |
| H A D | process_64.c | 153 GS enumerator 288 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() 882 loadseg(GS, 0); in do_arch_prctl_64()
|
| /linux-6.15/arch/x86/include/uapi/asm/ |
| H A D | ptrace-abi.h | 17 #define GS 10 macro
|
| /linux-6.15/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-6.15/arch/x86/um/shared/sysdep/ |
| H A D | ptrace_64.h | 39 #define GS (HOST_GS * sizeof(long)) macro
|
| /linux-6.15/arch/x86/um/os-Linux/ |
| H A D | mcontext.c | 16 COPY_SEG(GS); COPY_SEG(FS); COPY_SEG(ES); COPY_SEG(DS); in get_regs_from_mc()
|
| /linux-6.15/arch/arm64/boot/dts/amlogic/ |
| H A D | meson-g12b-gsking-x.dts | 16 model = "Beelink GS-King X";
|
| /linux-6.15/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-6.15/arch/um/os-Linux/skas/ |
| H A D | process.c | 78 R(GS); in ptrace_reg_name()
|
| /linux-6.15/arch/alpha/ |
| H A D | Kconfig | 107 Wildfire AlphaServer GS 40/80/160/320 222 AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
|
| /linux-6.15/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-6.15/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 153 65: SEG=GS (Prefix) 523 a8: PUSH GS (d64) 524 a9: POP GS (d64)
|
| /linux-6.15/tools/arch/x86/lib/ |
| H A D | x86-opcode-map.txt | 153 65: SEG=GS (Prefix) 523 a8: PUSH GS (d64) 524 a9: POP GS (d64)
|
| /linux-6.15/tools/arch/x86/kcpuid/ |
| H A D | cpuid.csv | 281 7, 1, eax, 18, lkgs , LKGS: Load 'kernel' (userspace) GS 1008 0x80000021, 0, eax, 1, fsgs_non_serializing , WRMSR to {FS,GS,KERNEL_GS}_BASE i…
|