]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit - arch/x86/include/asm/cpufeatures.h
x86/cpufeatures: Add enumeration for SERIALIZE instruction
authorRicardo Neri <ricardo.neri-calderon@linux.intel.com>
Mon, 27 Jul 2020 04:31:29 +0000 (21:31 -0700)
committerIngo Molnar <mingo@kernel.org>
Mon, 27 Jul 2020 10:42:06 +0000 (12:42 +0200)
commit85b23fbc7d88f8c6e3951721802d7845bc39663d
tree592b222619448d7cf1c424085471c72e10ddeda0
parent538b10856b1eb60bd6305fa2f20191b12d997ba1
x86/cpufeatures: Add enumeration for SERIALIZE instruction

The Intel architecture defines a set of Serializing Instructions (a
detailed definition can be found in Vol.3 Section 8.3 of the Intel "main"
manual, SDM). However, these instructions do more than what is required,
have side effects and/or may be rather invasive. Furthermore, some of
these instructions are only available in kernel mode or may cause VMExits.
Thus, software using these instructions only to serialize execution (as
defined in the manual) must handle the undesired side effects.

As indicated in the name, SERIALIZE is a new Intel architecture
Serializing Instruction. Crucially, it does not have any of the mentioned
side effects. Also, it does not cause VMExit and can be used in user mode.

This new instruction is currently documented in the latest "extensions"
manual (ISE). It will appear in the "main" manual in the future.

Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://lore.kernel.org/r/20200727043132.15082-2-ricardo.neri-calderon@linux.intel.com
arch/x86/include/asm/cpufeatures.h