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>
This commit is contained in:
peter 1997-09-22 05:03:03 +00:00
parent c2540cceee
commit b40d690188
2 changed files with 26 additions and 2 deletions

View File

@ -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 */

View File

@ -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 */