summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-07-17 19:45:01 +0000
committerdyson <dyson@FreeBSD.org>1997-07-17 19:45:01 +0000
commit53c148264d968cb4285b431e58a308c802d9dbf4 (patch)
treea38a4666e42ee32754d43796f5206cc250aecd99 /sys/kern
parent964800d988ed83575feb7f85503e1e40fa3c4cd6 (diff)
downloadFreeBSD-src-53c148264d968cb4285b431e58a308c802d9dbf4.zip
FreeBSD-src-53c148264d968cb4285b431e58a308c802d9dbf4.tar.gz
Hopefully fix a few problems that could cause hangs in SMP mode.
1) Make sure that the region mapped by a 4MB page is properly aligned. 2) Don't turn on the PG_G flag in locore for SMP. I plan to do that later in startup anyway. 3) Make sure the 2nd processor has PSE enabled, so that 4MB pages don't hose it. We don't use PG_G yet on SMP -- there is work to be done to make that work correctly. It isn't that important anyway...
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/subr_smp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/kern/subr_smp.c b/sys/kern/subr_smp.c
index 157c218..7b74a36 100644
--- a/sys/kern/subr_smp.c
+++ b/sys/kern/subr_smp.c
@@ -22,7 +22,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: mp_machdep.c,v 1.14 1997/07/13 00:42:14 smp Exp smp $
+ * $Id: mp_machdep.c,v 1.27 1997/07/13 01:22:43 fsmp Exp $
*/
#include "opt_smp.h"
@@ -395,6 +395,8 @@ init_secondary(void)
load_cr0(0x8005003b); /* XXX! */
PTD[0] = 0;
+ pmap_set_opt((unsigned *)PTD);
+
invltlb();
}
@@ -1542,6 +1544,8 @@ start_all_aps(u_int boot_addr)
outb(CMOS_REG, BIOS_RESET);
outb(CMOS_DATA, mpbiosreason);
+ pmap_set_opt_bsp();
+
/* number of APs actually started */
return mp_ncpus - 1;
}
OpenPOWER on IntegriCloud