Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-4]: src/sys/arch/i386/i386 Apply patch (based on rev 1.85 of pm...



details:   https://anonhg.NetBSD.org/src/rev/7761cdc18f3f
branches:  netbsd-1-4
changeset: 470502:7761cdc18f3f
user:      he <he%NetBSD.org@localhost>
date:      Wed Apr 26 22:14:10 2000 +0000

description:
Apply patch (based on rev 1.85 of pmap.c, requested by thorpej):
  Use a more reliable method to determine if uvm_page_init() has
  completed.  This fixes a problem observed on some i386 configs
  (typically with lots of memory) where the kernel page table needs
  to grow during initialization.

diffstat:

 sys/arch/i386/i386/pmap.new.c |  10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diffs (31 lines):

diff -r e90731f8f6d4 -r 7761cdc18f3f sys/arch/i386/i386/pmap.new.c
--- a/sys/arch/i386/i386/pmap.new.c     Wed Apr 26 22:13:24 2000 +0000
+++ b/sys/arch/i386/i386/pmap.new.c     Wed Apr 26 22:14:10 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.new.c,v 1.23.2.4 1999/12/20 13:31:41 he Exp $     */
+/*     $NetBSD: pmap.new.c,v 1.23.2.5 2000/04/26 22:14:10 he Exp $     */
 
 /*
  *
@@ -3558,7 +3558,7 @@
 
   for (/*null*/ ; nkpde < needed_kpde ; nkpde++) {
 
-    if (pmap_initialized == FALSE) {
+    if (uvm.page_init_done == FALSE) {
       /*
        * we're growing the kernel pmap early (from uvm_pageboot_alloc()).
        * this case must be handled a little differently.
@@ -3573,6 +3573,12 @@
       continue;
     }
 
+    /*
+     * THIS *MUST* BE CODED SO AS TO WORK IN THE
+     * pmap_initialized == FALSE CASE!  WE MAY BE
+     * INVOKED WHILE pmap_init() IS RUNNING!
+     */
+
     pmap_alloc_ptp(kpm, PDSLOT_KERN + nkpde, FALSE);
     kpm->pm_pdir[PDSLOT_KERN + nkpde] &= ~PG_u; /* PG_u not for kernel */
 



Home | Main Index | Thread Index | Old Index