Fixed initialization of the 4MB page. Kernels larger than about 2.75MB

(from _btext to _end) crashed in pmap_bootstrap().  Smaller kernels
worked accidentally.
This commit is contained in:
Bruce Evans 1998-02-12 22:00:01 +00:00
parent cd59d49d07
commit 045b6fefd8
2 changed files with 4 additions and 4 deletions

View File

@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
* $Id: pmap.c,v 1.184 1998/02/09 06:08:16 eivind Exp $
* $Id: pmap.c,v 1.185 1998/02/10 17:30:26 eivind Exp $
*/
/*
@ -384,7 +384,7 @@ pmap_bootstrap(firstaddr, loadaddr)
* Note that we have enabled PSE mode
*/
pseflag = PG_PS;
ptditmp = (unsigned) kernel_pmap->pm_pdir[KPTDI];
ptditmp = *((unsigned *)PTmap + i386_btop(KERNBASE));
ptditmp &= ~(NBPDR - 1);
ptditmp |= PG_V | PG_RW | PG_PS | PG_U | pgeflag;
pdir4mb = ptditmp;

View File

@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
* from: @(#)pmap.c 7.7 (Berkeley) 5/12/91
* $Id: pmap.c,v 1.184 1998/02/09 06:08:16 eivind Exp $
* $Id: pmap.c,v 1.185 1998/02/10 17:30:26 eivind Exp $
*/
/*
@ -384,7 +384,7 @@ pmap_bootstrap(firstaddr, loadaddr)
* Note that we have enabled PSE mode
*/
pseflag = PG_PS;
ptditmp = (unsigned) kernel_pmap->pm_pdir[KPTDI];
ptditmp = *((unsigned *)PTmap + i386_btop(KERNBASE));
ptditmp &= ~(NBPDR - 1);
ptditmp |= PG_V | PG_RW | PG_PS | PG_U | pgeflag;
pdir4mb = ptditmp;