[newlib-cygwin/main] Cygwin: fhandler/proc.cc(format_proc_cpuinfo): Linux 6.10 flags added

Corinna Vinschen corinna@sourceware.org
Tue Jul 30 12:47:50 GMT 2024


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

commit 003d85107bab603feb9b560327e12a833222fc19
Author:     Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>
AuthorDate: Thu Jul 18 10:27:48 2024 -0600
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Fri Jul 19 11:52:09 2024 +0200

    Cygwin: fhandler/proc.cc(format_proc_cpuinfo): Linux 6.10 flags added
    
    0x8000000a EDX 18 x2avic             virtual x2apic
    0x80000022 EAX  2 amd_lbr_pmc_freeze AMD last br rec and perf mon ctrs freeze
    
    Signed-off-by: Brian Inglis <Brian.Inglis@SystematicSW.ab.ca>

Diff:
---
 winsup/cygwin/fhandler/proc.cc | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/winsup/cygwin/fhandler/proc.cc b/winsup/cygwin/fhandler/proc.cc
index baf0cae1e8f9..d8ab522a8235 100644
--- a/winsup/cygwin/fhandler/proc.cc
+++ b/winsup/cygwin/fhandler/proc.cc
@@ -1593,6 +1593,7 @@ format_proc_cpuinfo (void *, char *&destbuf)
 	  ftcprint (features1, 13, "avic");             /* virt int control */
 	  ftcprint (features1, 15, "v_vmsave_vmload");  /* virt vmsave vmload */
 	  ftcprint (features1, 16, "vgif");             /* virt glb int flag */
+	  ftcprint (features1, 18, "x2avic");           /* virt x2apic */
 	  ftcprint (features1, 20, "v_spec_ctrl");	/* virt spec ctrl support */
 	  ftcprint (features1, 25, "vnmi");             /* virt NMI */
 /*	  ftcprint (features1, 28, "svme_addr_chk");  *//* secure vmexit addr check */
@@ -1687,6 +1688,13 @@ format_proc_cpuinfo (void *, char *&destbuf)
 /*	  ftcprint (features2, 16, "vte");    *//* virtual transparent encryption */
 	}
 
+      /* cpuid 0x80000022 eax */
+      if (is_amd && maxe >= 0x80000022)
+	{
+	  cpuid (&features1, &unused, &unused, &unused, 0x80000022);
+	  ftcprint (features1,  2, "amd_lbr_pmc_freeze ");/* AMD LBR & PMC Freeze */
+	}
+
       print ("\n");
 
       bufptr += __small_sprintf (bufptr, "bogomips\t: %d.00\n",


More information about the Cygwin-cvs mailing list