diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 1996-09-16 13:51:32 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 1996-09-16 13:51:32 +0000 |
commit | 7d5e932b2754218ebde3a7cb2938968899b9a35f (patch) | |
tree | 8ce9754b6cc632ed5d4dea645b7ae6780f43bc60 /sys/arch/i386/include | |
parent | e720a9cb28e8af791c915026fe672ab336f703ca (diff) |
supporting advanced pentium architecture functions.
from NetBSD port-i386/2604 from <rvb@cs.cmu.edu>.
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r-- | sys/arch/i386/include/specialreg.h | 28 |
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 */ |