]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/mach/machine.h
xnu-792.25.20.tar.gz
[apple/xnu.git] / osfmk / mach / machine.h
index d81b14cecdb1f9b1d8bd04b9d90bdc135c7cd185..7c88e5836fdc9416bebb066d9ae1aca5cbf83357 100644 (file)
@@ -220,7 +220,7 @@ __END_DECLS
 #define        CPU_SUBTYPE_MC68030_ONLY        ((cpu_subtype_t) 3)
 
 /*
- *     I386 subtypes.
+ *     I386 subtypes
  */
 
 #define CPU_SUBTYPE_INTEL(f, m)        ((cpu_subtype_t) (f) + ((m) << 4))
@@ -327,4 +327,20 @@ __END_DECLS
 #define CPU_SUBTYPE_POWERPC_7450       ((cpu_subtype_t) 11)
 #define CPU_SUBTYPE_POWERPC_970                ((cpu_subtype_t) 100)
 
+/*
+ *      CPU families (sysctl hw.cpufamily)
+ *
+ * NB: the encodings of the CPU families are intentionally arbitrary.
+ * There is no ordering, and you should never try to deduce whether
+ * or not some feature is available based on the family.
+ * Use feature flags (eg, hw.optional.altivec) to test for optional
+ * functionality.
+ */
+#define CPUFAMILY_UNKNOWN    0
+#define CPUFAMILY_POWERPC_G3 0xcee41549
+#define CPUFAMILY_POWERPC_G4 0x77c184ae
+#define CPUFAMILY_POWERPC_G5 0xed76d8aa
+#define CPUFAMILY_INTEL_6_14 0x73d67300  /* Intel Core Solo and Intel Core Duo (32-bit Pentium-M with SSE3) */
+#define CPUFAMILY_INTEL_6_15 0x426f69ef  /* Intel Core 2 */
+
 #endif /* _MACH_MACHINE_H_ */