diff options
author | jlemon <jlemon@FreeBSD.org> | 1998-03-24 16:47:12 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 1998-03-24 16:47:12 +0000 |
commit | 92cbf4023f4bc21dc454c573260218e97f3c2d9a (patch) | |
tree | 606af8d51f1b7da39bcd6250e78a4b230e9a8caf | |
parent | 61341dc0b7f98663ff3ee5e4fd697daf849c8e4c (diff) | |
download | FreeBSD-src-92cbf4023f4bc21dc454c573260218e97f3c2d9a.zip FreeBSD-src-92cbf4023f4bc21dc454c573260218e97f3c2d9a.tar.gz |
Only read the cr4 register if the cpu_feature flag indicates the machine
has VME support.
Noticed by: kato
-rw-r--r-- | sys/i386/i386/vm86.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/i386/i386/vm86.c b/sys/i386/i386/vm86.c index bfb926e..9d8def6 100644 --- a/sys/i386/i386/vm86.c +++ b/sys/i386/i386/vm86.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: vm86.c,v 1.9 1998/03/23 19:52:38 jlemon Exp $ + * $Id: vm86.c,v 1.10 1998/03/24 08:29:05 kato Exp $ */ #include "opt_vm86.h" @@ -418,7 +418,8 @@ vm86_initialize(void) ext->ext_iomap = (caddr_t)(offset + ((u_int)&ext->ext_tss & PG_FRAME)); ext->ext_vm86.vm86_intmap = ext->ext_iomap - 32; - ext->ext_vm86.vm86_has_vme = (rcr4() & CR4_VME ? 1 : 0); + if (cpu_feature & CPUID_VME) + ext->ext_vm86.vm86_has_vme = (rcr4() & CR4_VME ? 1 : 0); addr = (u_long *)ext->ext_vm86.vm86_intmap; for (i = 0; i < (ctob(IOPAGES) + 32 + 16) / sizeof(u_long); i++) |