summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1997-09-22 05:03:03 +0000
committerpeter <peter@FreeBSD.org>1997-09-22 05:03:03 +0000
commit1a8283e614e3a317cf6efe6a4809ecfb1483bf67 (patch)
tree9e49e7c06210fbac344e236379c8fcb5a567c771 /sys/amd64
parente74401cd50a1d7d9cfd27e727b355b2556108aab (diff)
downloadFreeBSD-src-1a8283e614e3a317cf6efe6a4809ecfb1483bf67.zip
FreeBSD-src-1a8283e614e3a317cf6efe6a4809ecfb1483bf67.tar.gz
Turn on CR4_VME on the AP's the same as the BSP. Note that we do not
[yet] probe the AP's for their cpuid/capabilities etc, so this is a fudge at best. Problem noted by: Jonathan Lemon <jlemon@americantv.com>
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/mpboot.S14
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/amd64/amd64/mpboot.S b/sys/amd64/amd64/mpboot.S
index 9d51b1f..1c66dae 100644
--- a/sys/amd64/amd64/mpboot.S
+++ b/sys/amd64/amd64/mpboot.S
@@ -31,7 +31,7 @@
* mpboot.s: FreeBSD machine support for the Intel MP Spec
* multiprocessor systems.
*
- * $Id: mpboot.s,v 1.3 1997/08/25 10:57:36 peter Exp $
+ * $Id: mpboot.s,v 1.4 1997/08/26 18:10:32 peter Exp $
*/
#include <machine/asmacros.h> /* miscellaneous asm macros */
@@ -92,6 +92,18 @@ mp_begin: /* now running relocated at KERNBASE */
call _init_secondary /* load i386 tables */
CHECKPOINT(0x38, 5)
+#ifdef VM86
+ /*
+ * If the [BSP] CPU has support for VME, turn it on.
+ */
+ testl $CPUID_VME, _cpu_feature /* XXX WRONG! BSP! */
+ jz 1f
+ movl %cr4, %eax
+ orl $CR4_VME, %eax
+ movl %eax, %cr4
+1:
+#endif
+
/* disable the APIC, just to be SURE */
movl lapic_svr, %eax /* get spurious vector reg. */
andl $~APIC_SVR_SWEN, %eax /* clear software enable bit */
OpenPOWER on IntegriCloud