linux/tools/arch/x86/include/asm
H. Peter Anvin (Intel) 660569472d x86/cpufeature: Add the CPU feature bit for LKGS
Add the CPU feature bit for LKGS (Load "Kernel" GS).

LKGS instruction is introduced with Intel FRED (flexible return and
event delivery) specification. Search for the latest FRED spec in most
search engines with this search pattern:

  site:intel.com FRED (flexible return and event delivery) specification

LKGS behaves like the MOV to GS instruction except that it loads
the base address into the IA32_KERNEL_GS_BASE MSR instead of the
GS segment’s descriptor cache, which is exactly what Linux kernel
does to load a user level GS base.  Thus, with LKGS, there is no
need to SWAPGS away from the kernel GS base.

[ mingo: Minor tweaks to the description. ]

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Xin Li <xin3.li@intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20230112072032.35626-2-xin3.li@intel.com
2023-01-12 13:06:20 +01:00
..
amd-ibs.h perf amd ibs: Sync arch/x86/include/asm/amd-ibs.h header with the kernel 2022-10-06 16:27:38 -03:00
asm.h x86/asm: Make <asm/asm.h> valid on cross-builds as well 2021-05-14 08:50:28 +02:00
atomic.h tools: KVM: selftests: Convert clear/set_bit() to actual atomics 2022-12-02 13:22:35 -05:00
barrier.h
cmpxchg.h
cpufeatures.h x86/cpufeature: Add the CPU feature bit for LKGS 2023-01-12 13:06:20 +01:00
disabled-features.h tools headers disabled-cpufeatures: Sync with the kernel sources 2022-12-19 12:27:48 -03:00
emulate_prefix.h x86: xen: insn: Decode Xen and KVM emulate-prefix signature 2019-10-17 21:31:57 +02:00
inat.h x86/insn: Add a __ignore_sync_check__ marker 2021-03-15 11:00:57 +01:00
inat_types.h objtool: Move x86 insn decoder to a common location 2019-08-31 22:27:52 -03:00
insn.h x86/insn: Add AVX512-FP16 instructions to the x86 instruction decoder 2022-01-23 20:38:01 +01:00
irq_vectors.h x86/irq: Add and use NR_EXTERNAL_VECTORS and NR_SYSTEM_VECTORS 2021-05-21 12:36:44 +02:00
msr-index.h tools arch x86: Sync the msr-index.h copy with the kernel sources 2022-12-20 14:36:47 -03:00
nops.h x86/asm: Use _ASM_BYTES() in <asm/nops.h> 2021-05-10 12:33:28 +02:00
orc_types.h objtool: Fix x86 orc generation on big endian cross-compiles 2021-01-13 18:13:13 -06:00
pvclock-abi.h tools: arch: x86: pull in pvclock headers 2021-10-18 14:43:45 -04:00
pvclock.h tools: arch: x86: pull in pvclock headers 2021-10-18 14:43:45 -04:00
required-features.h x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
rmwcc.h asm goto: eradicate CC_HAS_ASM_GOTO 2022-08-21 10:06:28 -07:00