Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/x86/include update cpuid bits



details:   https://anonhg.NetBSD.org/src/rev/d5dd18ef66f9
branches:  trunk
changeset: 762079:d5dd18ef66f9
user:      cegger <cegger%NetBSD.org@localhost>
date:      Tue Feb 15 10:11:25 2011 +0000

description:
update cpuid bits

diffstat:

 sys/arch/x86/include/specialreg.h |  48 +++++++++++++++++++++++++++++---------
 1 files changed, 36 insertions(+), 12 deletions(-)

diffs (117 lines):

diff -r fdc13b2e20a4 -r d5dd18ef66f9 sys/arch/x86/include/specialreg.h
--- a/sys/arch/x86/include/specialreg.h Tue Feb 15 09:56:32 2011 +0000
+++ b/sys/arch/x86/include/specialreg.h Tue Feb 15 10:11:25 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: specialreg.h,v 1.49 2010/10/12 00:39:08 jakllsch Exp $ */
+/*     $NetBSD: specialreg.h,v 1.50 2011/02/15 10:11:25 cegger Exp $   */
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -158,7 +158,7 @@
 /* Intel Fn80000001 extended features - %ecx */
 #define        CPUID_LAHF      0x00000001      /* LAHF/SAHF in IA-32e mode, 64bit sub*/
 
-#define        CPUID_INTEL_FLAGS4      "\20\1LAHF"
+#define        CPUID_INTEL_FLAGS4      "\20\1LAHF\02B02\03B03"
 
 
 /* AMD/VIA Fn80000001 extended features - %edx */
@@ -173,8 +173,9 @@
 #define CPUID_3DNOW2   0x40000000      /* 3DNow! Instruction Extension */
 #define CPUID_3DNOW    0x80000000      /* 3DNow! Instructions */
 
-#define CPUID_EXT_FLAGS        "\20\14SYSCALL/SYSRET\24MPC\25NOX\27MXX\32FFXSR" \
-                           "\33P1GB\34RDTSCP\36LONG\0373DNOW2\0403DNOW"
+#define CPUID_EXT_FLAGS        "\20\14SYSCALL/SYSRET\24MPC\25NOX" \
+                           "\27MXX\32FFXSR\33P1GB\34RDTSCP" \
+                           "\36LONG\0373DNOW2\0403DNOW" \
 
 /* AMD Fn80000001 extended features - %ecx */
 #define CPUID_LAHF     0x00000001      /* LAHF/SAHF instruction */
@@ -188,24 +189,40 @@
 #define CPUID_3DNOWPF  0x00000100      /* 3DNow Prefetch */
 #define CPUID_OSVW     0x00000200      /* OS visible workarounds */
 #define CPUID_IBS      0x00000400      /* Instruction Based Sampling */
-#define CPUID_SSE5     0x00000800      /* SSE5 instruction set */
+#define CPUID_XOP      0x00000800      /* XOP instruction set */
 #define CPUID_SKINIT   0x00001000      /* SKINIT */
 #define CPUID_WDT      0x00002000      /* watchdog timer support */
+#define CPUID_LWP      0x00008000      /* Light Weight Profiling */
+#define CPUID_FMA4     0x00010000      /* FMA4 instructions */
+#define CPUID_NODEID   0x00080000      /* NodeID MSR available*/
+#define CPUID_TBM      0x00200000      /* TBM instructions */
+#define CPUID_TOPOEXT  0x00400000      /* cpuid Topology Extension */
 
 #define CPUID_AMD_FLAGS4       "\20\1LAHF\2CMPLEGACY\3SVM\4EAPIC\5ALTMOVCR0" \
                                    "\6LZCNT\7SSE4A\10MISALIGNSSE" \
                                    "\0113DNOWPREFETCH\12OSVW\13IBS" \
-                                   "\14SSE5\15SKINIT\16WDT"
+                                   "\14XOP\15SKINIT\16WDT\20LWP" \
+                                   "\21FMA4\22B17\23B18\24NodeID\25B20\26TBM" \
+                                   "\27TopoExt\30B23\31B24" \
+                                   "\32B25\33B25\34B26" \
+                                   "\35B27\36B28\37B29\40B30\41B31\42B32"
 
 /* AMD Fn8000000a %edx features (SVM features) */
 #define        CPUID_AMD_SVM_NP                0x00000001
 #define        CPUID_AMD_SVM_LbrVirt           0x00000002
 #define        CPUID_AMD_SVM_SVML              0x00000004
 #define        CPUID_AMD_SVM_NRIPS             0x00000008
-#define        CPUID_AMD_SVM_Ssse3Sse5Dis      0x00000200
+#define        CPUID_AMD_SVM_TSCRateCtrl       0x00000010
+#define        CPUID_AMD_SVM_VMCBCleanBits     0x00000020
+#define        CPUID_AMD_SVM_FlushByASID       0x00000040
+#define        CPUID_AMD_SVM_DecodeAssist      0x00000080
 #define        CPUID_AMD_SVM_PauseFilter       0x00000400
 #define        CPUID_AMD_SVM_FLAGS      "\20\1NP\2LbrVirt\3SVML\4NRIPS" \
-                                   "\12Ssse3Sse5Dis\13PauseFilter"
+                                   "\5TSCRate\6VMCBCleanBits\7FlushByASID" \
+                                   "\10DecodeAssist\11B08" \
+                                   "\12B09\13PauseFilter" \
+                                   "\14B11\15B12" \
+                                   "\16B13\17B17\20B18\21B19"
 
 /*
  * AMD Advanced Power Management
@@ -221,9 +238,10 @@
 #define CPUID_APM_HWP  0x00000080      /* HW P-State control */
 #define CPUID_APM_TSC  0x00000100      /* TSC invariant */
 #define CPUID_APM_CPB  0x00000200      /* Core performance boost */
+#define CPUID_APM_EFF  0x00000400      /* Effective Frequency (read-only) */
 
 #define CPUID_APM_FLAGS                "\20\1TS\2FID\3VID\4TTP\5HTC\6STC\007100" \
-                                   "\10HWP\11TSC\12CPB"
+                                   "\10HWP\11TSC\12CPB\13EffFreq\14B11\15B12"
 
 /*
  * Centaur Extended Feature flags
@@ -246,6 +264,7 @@
  */
 
 #define        CPUID2_SSE3     0x00000001      /* Streaming SIMD Extensions 3 */
+#define        CPUID2_PCLMUL   0x00000002      /* PCLMULQDQ instructions */
 #define        CPUID2_DTES64   0x00000004      /* 64-bit Debug Trace */
 #define        CPUID2_MONITOR  0x00000008      /* MONITOR/MWAIT instructions */
 #define        CPUID2_DS_CPL   0x00000010      /* CPL Qualified Debug Store */
@@ -263,13 +282,18 @@
 #define        CPUID2_SSE42    0x00100000      /* Streaming SIMD Extensions 4.2 */
 #define        CPUID2_X2APIC   0x00200000      /* xAPIC Extensions */
 #define        CPUID2_POPCNT   0x00800000      /* popcount instruction available */
+#define        CPUID2_AES      0x02000000      /* AES instructions */
+#define        CPUID2_XSAVE    0x04000000      /* XSAVE instructions */
+#define        CPUID2_OSXSAVE  0x08000000      /* XGETBV/XSETBV instructions */
+#define        CPUID2_AVX      0x10000000      /* AVX instructions */
+#define        CPUID2_F16C     0x20000000      /* half precision conversion */
 #define        CPUID2_RAZ      0x80000000      /* RAZ. Indicates guest state. */
 
-#define CPUID2_FLAGS1  "\20\1SSE3\2B01\3DTES64\4MONITOR\5DS-CPL\6VMX\7SMX" \
+#define CPUID2_FLAGS1  "\20\1SSE3\2PCLMULQDQ\3DTES64\4MONITOR\5DS-CPL\6VMX\7SMX" \
                            "\10EST\11TM2\12SSSE3\13CID\14B11\15B12\16CX16" \
                            "\17xTPR\20PDCM\21B16\22B17\23DCA\24SSE41\25SSE42" \
-                           "\26X2APIC\27MOVBE\30POPCNT\31B24\32B25\33XSAVE" \
-                           "\34OSXSAVE\35B28\36B29\37B30\40RAZ"
+                           "\26X2APIC\27MOVBE\30POPCNT\31B24\32AES\33XSAVE" \
+                           "\34OSXSAVE\35AVX\36F16C\37B30\40RAZ"
 
 #define CPUID2FAMILY(cpuid)    (((cpuid) >> 8) & 0xf)
 #define CPUID2MODEL(cpuid)     (((cpuid) >> 4) & 0xf)



Home | Main Index | Thread Index | Old Index