summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>1996-09-16 13:51:32 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>1996-09-16 13:51:32 +0000
commit7d5e932b2754218ebde3a7cb2938968899b9a35f (patch)
tree8ce9754b6cc632ed5d4dea645b7ae6780f43bc60 /sys
parente720a9cb28e8af791c915026fe672ab336f703ca (diff)
supporting advanced pentium architecture functions.
from NetBSD port-i386/2604 from <rvb@cs.cmu.edu>.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/i386/include/specialreg.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/arch/i386/include/specialreg.h b/sys/arch/i386/include/specialreg.h
index f9b4e0bead5..0c945b28d2c 100644
--- a/sys/arch/i386/include/specialreg.h
+++ b/sys/arch/i386/include/specialreg.h
@@ -55,6 +55,34 @@
#define CR0_CD 0x40000000 /* Cache Disable */
/*
+ * The info below was gleaned from:
+ C) Copyright 1993, 1994 By Harald Feldmann Revision 04, Nov 3rd 1994.
+ Hamarsoft's 86BUGS list, (C)
+ 1993/94 By Hamarsoft (R) The 86BUGS list, distributed...
+ http://powderkeg.stanford.edu/~rho/8LIST04.LST - size 106K - 23 Mar 95
+*/
+/*
+ * Bits in the EDX register after doing an "cpuid" instruction with %eax == 1
+ */
+#define ID1_FPU 0x01 /* has builtin fpu */
+#define ID1_V86 0x02 /* has v86 extensions */
+#define ID1_IOB 0x04 /* has io breakpoints */
+#define ID1_4MB 0x08 /* has 4Meg pages */
+#define ID1_TSC 0x10 /* has TSC */
+#define ID1_MSR 0x20 /* has "Model Specific Registers" */
+#define ID1_MCE 0x80 /* has Machine Check Exceptions */
+
+/*
+ * We also need bits in cr4 (??)
+ */
+#define CR4_MCE 0x40 /* enable machine check */
+#define CR4_4MB 0x10 /* enable 4MB pages */
+#define CR4_IOB 0x08 /* enable io breakpoints (value is 0x02 [reserved])
+#define CR4_TSC 0x04 /* disable user RDTSC */
+#define CR4_PVI 0x02 /* enable virt intr in protected mode */
+#define CR4_VVI 0x01 /* enable virt intr in v86 mode */
+
+/*
* Cyrix 486 DLC special registers, accessable as IO ports.
*/
#define CCR0 0xc0 /* configuration control register 0 */