fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag

CPUID 7:0 EDX[14] serialize added in linux-next 5.8 by Ricardo Neri-Calderon:
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.

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/x86/include/asm/cpufeatures.h?id=85b23fbc7d88f8c6e3951721802d7845bc39663d
This commit is contained in:
Brian Inglis 2020-08-03 10:22:46 -06:00 committed by Corinna Vinschen
parent 12ad9a46df
commit 4ecc804d54
1 changed files with 1 additions and 0 deletions

View File

@ -1578,6 +1578,7 @@ format_proc_cpuinfo (void *, char *&destbuf)
ftcprint (features1, 4, "fsrm"); /* fast short REP MOVSB */
ftcprint (features1, 8, "avx512_vp2intersect"); /* vec intcpt d/q */
ftcprint (features1, 10, "md_clear"); /* verw clear buf */
ftcprint (features1, 14, "serialize"); /* SERIALIZE instruction */
ftcprint (features1, 18, "pconfig"); /* platform config */
ftcprint (features1, 19, "arch_lbr"); /* last branch records */
ftcprint (features1, 28, "flush_l1d"); /* flush l1d cache */