Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Dec 2014 11:55:54 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r276132 - in stable/10/sys/x86: include x86
Message-ID:  <201412231155.sBNBtstq084929@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Tue Dec 23 11:55:53 2014
New Revision: 276132
URL: https://svnweb.freebsd.org/changeset/base/276132

Log:
  MFC r271197:
  Add more bits for the XSAVE features from CPUID 0xd, sub-function 1
  %eax report.  Print the XSAVE features 0xd/1 in the boot banner.

Modified:
  stable/10/sys/x86/include/specialreg.h
  stable/10/sys/x86/x86/identcpu.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/x86/include/specialreg.h
==============================================================================
--- stable/10/sys/x86/include/specialreg.h	Tue Dec 23 11:00:51 2014	(r276131)
+++ stable/10/sys/x86/include/specialreg.h	Tue Dec 23 11:55:53 2014	(r276132)
@@ -296,6 +296,9 @@
  * CPUID instruction 0xd Processor Extended State Enumeration Sub-leaf 1
  */
 #define	CPUID_EXTSTATE_XSAVEOPT	0x00000001
+#define	CPUID_EXTSTATE_XSAVEC	0x00000002
+#define	CPUID_EXTSTATE_XINUSE	0x00000004
+#define	CPUID_EXTSTATE_XSAVES	0x00000008
 
 /*
  * AMD extended function 8000_0007h edx info

Modified: stable/10/sys/x86/x86/identcpu.c
==============================================================================
--- stable/10/sys/x86/x86/identcpu.c	Tue Dec 23 11:00:51 2014	(r276131)
+++ stable/10/sys/x86/x86/identcpu.c	Tue Dec 23 11:55:53 2014	(r276132)
@@ -913,6 +913,19 @@ printcpuinfo(void)
 				       );
 			}
 
+			if ((cpu_feature2 & CPUID2_XSAVE) != 0) {
+				cpuid_count(0xd, 0x1, regs);
+				if (regs[0] != 0) {
+					printf("\n  XSAVE Features=0x%b",
+					    regs[0],
+					    "\020"
+					    "\001XSAVEOPT"
+					    "\002XSAVEC"
+					    "\003XINUSE"
+					    "\004XSAVES");
+				}
+			}
+
 			if (via_feature_rng != 0 || via_feature_xcrypt != 0)
 				print_via_padlock_info();
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201412231155.sBNBtstq084929>