public inbox for cygwin-patches@cygwin.com
 help / color / mirror / Atom feed
* [PATCH] fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag
@ 2020-08-03 16:22 Brian Inglis
  2020-08-04  8:12 ` Corinna Vinschen
  0 siblings, 1 reply; 2+ messages in thread
From: Brian Inglis @ 2020-08-03 16:22 UTC (permalink / raw)
  To: Cygwin Patches

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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag
  2020-08-03 16:22 [PATCH] fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag Brian Inglis
@ 2020-08-04  8:12 ` Corinna Vinschen
  0 siblings, 0 replies; 2+ messages in thread
From: Corinna Vinschen @ 2020-08-04  8:12 UTC (permalink / raw)
  To: cygwin-patches

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-04  8:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-03 16:22 [PATCH] fhandler_proc.cc(format_proc_cpuinfo): add SERIALIZE instruction flag Brian Inglis
2020-08-04  8:12 ` Corinna Vinschen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).