summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include/specialreg.h
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1999-03-08 23:47:27 +0000
committerJason Downs <downsj@cvs.openbsd.org>1999-03-08 23:47:27 +0000
commit4d5babe9a53a5ba8e34500bef93832521e116ba6 (patch)
treeb166b51a1410c9cd064f29d5504332b7d65b26c0 /sys/arch/i386/include/specialreg.h
parent2492f35aa95abb2800f1632d1049bbc8c334c96f (diff)
Add support for CPUID level 2. This is used to determine the L2 cache size
on Intel processors; print out the correct CPU name and cache size at boot. Also clean up the feature flags, including PPro errata.
Diffstat (limited to 'sys/arch/i386/include/specialreg.h')
-rw-r--r--sys/arch/i386/include/specialreg.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/arch/i386/include/specialreg.h b/sys/arch/i386/include/specialreg.h
index 22e37f88f5e..d3b8c027aff 100644
--- a/sys/arch/i386/include/specialreg.h
+++ b/sys/arch/i386/include/specialreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: specialreg.h,v 1.6 1999/02/24 22:05:15 deraadt Exp $ */
+/* $OpenBSD: specialreg.h,v 1.7 1999/03/08 23:47:25 downsj Exp $ */
/* $NetBSD: specialreg.h,v 1.7 1994/10/27 04:16:26 cgd Exp $ */
/*-
@@ -93,7 +93,7 @@
#define CPUID_FPU 0x00000001 /* processor has an FPU? */
#define CPUID_VME 0x00000002 /* has virtual mode (%cr4's VME/PVI) */
#define CPUID_DE 0x00000004 /* has debugging extension */
-#define CPUID_PSE 0x00000008 /* has page 4MB page size extension */
+#define CPUID_PSE 0x00000008 /* has 4MB page size extension */
#define CPUID_TSC 0x00000010 /* has time stamp counter */
#define CPUID_MSR 0x00000020 /* has mode specific registers */
#define CPUID_PAE 0x00000040 /* has phys address extension */
@@ -101,15 +101,19 @@
#define CPUID_CX8 0x00000100 /* has CMPXCHG8B instruction */
#define CPUID_APIC 0x00000200 /* has enabled APIC */
#define CPUID_SYS1 0x00000400 /* has SYSCALL/SYSRET inst. (Cyrix) */
-#define CPUID_SYS2 0x00000800 /* has SYSCALL/SYSRET inst. (AMD) */
+#define CPUID_SYS2 0x00000800 /* has SYSCALL/SYSRET inst. (AMD/Intel) */
#define CPUID_MTRR 0x00001000 /* has memory type range register */
#define CPUID_PGE 0x00002000 /* has page global extension */
#define CPUID_MCA 0x00004000 /* has machine check architecture */
#define CPUID_CMOV 0x00008000 /* has CMOVcc instruction */
+#define CPUID_PAT 0x00010000 /* has page attribute table */
+#define CPUID_PSE36 0x00020000 /* has 36bit page size extension */
+#define CPUID_SER 0x00040000 /* has processor serial number */
#define CPUID_MMX 0x00800000 /* has MMX instructions */
-#define CPUID_EMMX 0x01000000 /* has extended MMX (Cyrix) */
-#define CPUID_3D 0x80000000 /* has AMD-3D instructions (AMD) */
-#define CPUID_MMX2 0x02000000 /* has Intel MMX-2 instructions */
+#define CPUID_FXSR 0x01000000 /* has FXRSTOR instruction (Intel) */
+#define CPUID_EMMX 0x01000000 /* has extended MMX (Cyrix; obsolete) */
+#define CPUID_SIMD 0x02000000 /* has SIMD instructions (Intel) */
+#define CPUID_3DNOW 0x80000000 /* has 3DNow! instructions (AMD) */
/*
* the following four 3-byte registers control the non-cacheable regions.