#define CPUID_MODEL_NEHALEM_2C 0x2c // Westmere-EP
#define CPUID_MODEL_NEHALEM_2E 0x2e // Nehalem-EX
#define CPUID_MODEL_NEHALEM_2F 0x2f // Westmere-EX
+#define CPUID_MODEL_SANDYBRIDGE_3A 0x3a // Ivy Bridge
#define CPUID_MODEL_PIII_07 7
#define CPUID_MODEL_PIII_08 8
return CPUID_FAMILY_IS_P6(v) &&
(effectiveModel == CPUID_MODEL_SANDYBRIDGE_2A ||
- effectiveModel == CPUID_MODEL_SANDYBRIDGE_2D);
+ effectiveModel == CPUID_MODEL_SANDYBRIDGE_2D ||
+ effectiveModel == CPUID_MODEL_SANDYBRIDGE_3A);
}
}
+static INLINE Bool
+CPUID_MODEL_IS_IVYBRIDGE(uint32 v) // IN: %eax from CPUID with %eax=1.
+{
+ /* Assumes the CPU manufacturer is Intel. */
+ uint32 effectiveModel = CPUID_EFFECTIVE_MODEL(v);
+
+ return CPUID_FAMILY_IS_P6(v) && (
+ effectiveModel == CPUID_MODEL_SANDYBRIDGE_3A);
+}
+
+
static INLINE Bool