mem-cache: Add multiple eviction stats
[gem5.git] / src / arch / x86 / cpuid.cc
index e15dcd33166dd0445b85205f95f1a4e2bcc95af1..e6a898a08c270654d64fec9065531da56ef5a89c 100644 (file)
@@ -29,6 +29,7 @@
  */
 
 #include "arch/x86/cpuid.hh"
+
 #include "base/bitfield.hh"
 #include "cpu/thread_context.hh"
 
@@ -36,6 +37,12 @@ namespace X86ISA {
     enum StandardCpuidFunction {
         VendorAndLargestStdFunc,
         FamilyModelStepping,
+        CacheAndTLB,
+        SerialNumber,
+        CacheParams,
+        MonitorMwait,
+        ThermalPowerMgmt,
+        ExtendedFeatures,
         NumStandardCpuidFuncs
     };
 
@@ -49,7 +56,7 @@ namespace X86ISA {
         L2L3CacheAndL2TLB,
         APMInfo,
         LongModeAddressSize,
+
         /*
          * The following are defined by the spec but not yet implemented
          */
@@ -142,7 +149,7 @@ namespace X86ISA {
                     funcNum);
                 return false;
             }
-        } else if(family == 0x0000) {
+        } else if (family == 0x0000) {
             // The standard functions
             switch (funcNum) {
               case VendorAndLargestStdFunc:
@@ -155,7 +162,11 @@ namespace X86ISA {
                 break;
               case FamilyModelStepping:
                 result = CpuidResult(0x00020f51, 0x00000805,
-                                     0xe7dbfbff, 0x04000209);
+                                     0xe7dbfbff, 0x00000209);
+                break;
+              case ExtendedFeatures:
+                result = CpuidResult(0x00000000, 0x01800000,
+                                     0x00000000, 0x00000000);
                 break;
               default:
                 warn("x86 cpuid family 0x0000: unimplemented function %u",