aboutsummaryrefslogtreecommitdiff
path: root/sys/i386/include
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2008-10-22 00:01:53 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2008-10-22 00:01:53 +0000
commit87c919e80809296ccbe3e42cf62f4232018a5e02 (patch)
treeb30add38ed594f926fbd84ed2fb7f1f455d6c459 /sys/i386/include
parent5fc898dffec49d30ce0cc2f8b816a8b9720162f2 (diff)
Notes
Diffstat (limited to 'sys/i386/include')
-rw-r--r--sys/i386/include/specialreg.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/i386/include/specialreg.h b/sys/i386/include/specialreg.h
index ec9de9f19c06..3c9ca92cd69c 100644
--- a/sys/i386/include/specialreg.h
+++ b/sys/i386/include/specialreg.h
@@ -150,6 +150,23 @@
#define AMDID2_PREFETCH 0x00000100
/*
+ * CPUID instruction 1 eax info
+ */
+#define CPUID_STEPPING 0x0000000f
+#define CPUID_MODEL 0x000000f0
+#define CPUID_FAMILY 0x00000f00
+#define CPUID_EXT_MODEL 0x000f0000
+#define CPUID_EXT_FAMILY 0x0ff00000
+#define I386_CPU_MODEL(id) \
+ ((((id) & CPUID_MODEL) >> 4) | \
+ ((((id) & CPUID_FAMILY) >= 0x600) ? \
+ (((id) & CPUID_EXT_MODEL) >> 12) : 0))
+#define I386_CPU_FAMILY(id) \
+ ((((id) & CPUID_FAMILY) >> 8) + \
+ ((((id) & CPUID_FAMILY) == 0xf00) ? \
+ (((id) & CPUID_EXT_FAMILY) >> 20) : 0))
+
+/*
* CPUID instruction 1 ebx info
*/
#define CPUID_BRAND_INDEX 0x000000ff