public inbox for cygwin-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] fhandler_proc.cc(format_proc_cpuinfo): add Linux 5.18 cpuinfo flags
@ 2022-05-25 17:30 Ken Brown
  0 siblings, 0 replies; only message in thread
From: Ken Brown @ 2022-05-25 17:30 UTC (permalink / raw)
  To: cygwin-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=9af21ada23389d9e6bcc0082fcc0e01545d8fd15

commit 9af21ada23389d9e6bcc0082fcc0e01545d8fd15
Author: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
Date:   Wed May 25 06:30:45 2022 -0600

    fhandler_proc.cc(format_proc_cpuinfo): add Linux 5.18 cpuinfo flags
    
    0x80000008:0 EBX:31 brs         AMD Branch Sampling available
    0x80000022:0 EAX:0  perfmon_v2  AMD ExtPerfMonAndDbg Performance Monitoring Version 2
    0x00000021:0 EBX|EDX|ECX=="IntelTDX    " tdx_guest Intel Trust Domain Extensions- Guest Support

Diff:
---
 winsup/cygwin/fhandler_proc.cc | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/fhandler_proc.cc b/winsup/cygwin/fhandler_proc.cc
index 9ba241981..af553644e 100644
--- a/winsup/cygwin/fhandler_proc.cc
+++ b/winsup/cygwin/fhandler_proc.cc
@@ -1362,14 +1362,21 @@ format_proc_cpuinfo (void *, char *&destbuf)
       if (maxe >= 0x80000008)
 	{
 /*	  cpuid (&unused, &features1, &unused, &unused, 0x80000008, 0); */
-/*	  from above */
+/*	  from above ^ */
 	  ftcprint (features1,  6, "mba");	/* memory bandwidth alloc */
 	}
+      /* cpuid 0x80000022 ebx AMD ExtPerfMonAndDbg */
+      if (maxe >= 0x80000022)
+	{
+	  cpuid (&features2, &unused, &unused, &unused, 0x80000022);
+
+	  ftcprint (features2,  0, "perfmon_v2"); /* Performance Monitoring Version 2 */
+	}
       /* cpuid 0x80000008 ebx */
       if (maxe >= 0x80000008)
         {
 /*	  cpuid (&unused, &features1, &unused, &unused, 0x80000008, 0); */
-/*	  from above */
+/*	  from above ^ */
 /*	  ftcprint (features1,  0, "clzero");	*//* clzero instruction */
 /*	  ftcprint (features1,  1, "irperf");   *//* instr retired count */
 /*	  ftcprint (features1,  2, "xsaveerptr");*//* save/rest FP err ptrs */
@@ -1388,6 +1395,16 @@ format_proc_cpuinfo (void *, char *&destbuf)
 /*	  ftcprint (features1, 26, "ssb_no");	*//* ssb fixed in hardware */
         }
 
+      /* cpuid 0x00000021 ebx|edx|ecx == "IntelTDX    " */
+      if (is_intel && maxf >= 0x00000021)
+	{
+	  uint32_t tdx[3];
+
+	  cpuid (&unused, &tdx[0], &tdx[2],  &tdx[1], 0x00000021, 0);
+	  if (!memcmp ("IntelTDX    ", tdx, sizeof (tdx)))
+	    ftuprint ("tdx_guest"); /* Intel Trust Domain Extensions Guest Support */
+	}
+
       /* cpuid 0x00000007 ebx */
       if (maxf >= 0x00000007)
 	{
@@ -1485,6 +1502,7 @@ format_proc_cpuinfo (void *, char *&destbuf)
 	  ftcprint (features1, 25, "virt_ssbd");    /* vir spec store byp dis */
 /*	  ftcprint (features1, 26, "ssb_no"); */    /* ssb fixed in hardware */
 	  ftcprint (features1, 27, "cppc");	    /* collab proc perf ctl */
+	  ftcprint (features1, 31, "brs");	    /* branch sampling */
         }
 
       /* thermal & power cpuid 0x00000006 eax */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-05-25 17:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-25 17:30 [newlib-cygwin] fhandler_proc.cc(format_proc_cpuinfo): add Linux 5.18 cpuinfo flags Ken Brown

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).