[PATCH] fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Aug 4 08:12:46 GMT 2020


On Aug  3 10:22, Brian Inglis wrote:
> 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
> ---
>  winsup/cygwin/fhandler_proc.cc | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/winsup/cygwin/fhandler_proc.cc b/winsup/cygwin/fhandler_proc.cc
> index 4bb8bea1766c..72ffa89cdc79 100644
> --- a/winsup/cygwin/fhandler_proc.cc
> +++ b/winsup/cygwin/fhandler_proc.cc
> @@ -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 */
> -- 
> 2.27.0

Pushed.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer


More information about the Cygwin-patches mailing list