Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/uvm pullup 1.19->1.20 (thorpej): fix the 1G RAM bug



details:   https://anonhg.NetBSD.org/src/rev/7da24c55b2b1
branches:  netbsd-1-4
changeset: 468717:7da24c55b2b1
user:      perry <perry%NetBSD.org@localhost>
date:      Fri Jun 18 17:04:56 1999 +0000

description:
pullup 1.19->1.20 (thorpej): fix the 1G RAM bug

diffstat:

 sys/uvm/uvm_page.c |  18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diffs (35 lines):

diff -r b26542320db8 -r 7da24c55b2b1 sys/uvm/uvm_page.c
--- a/sys/uvm/uvm_page.c        Fri Jun 18 17:03:15 1999 +0000
+++ b/sys/uvm/uvm_page.c        Fri Jun 18 17:04:56 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_page.c,v 1.17.2.2 1999/06/18 16:51:43 perry Exp $  */
+/*     $NetBSD: uvm_page.c,v 1.17.2.3 1999/06/18 17:04:56 perry Exp $  */
 
 /* 
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -409,11 +409,23 @@
         * allocate virtual memory for this request
         */
        if (virtual_space_start == virtual_space_end ||
-           (virtual_space_end - virtual_space_start) < size) {
+           (virtual_space_end - virtual_space_start) < size)
                panic("uvm_pageboot_alloc: out of virtual space");
-       }
 
        addr = virtual_space_start;
+
+#ifdef PMAP_GROWKERNEL
+       /*
+        * If the kernel pmap can't map the requested space,
+        * then allocate more resources for it.
+        */
+       if (uvm_maxkaddr < (addr + size)) {
+               uvm_maxkaddr = pmap_growkernel(addr + size);
+               if (uvm_maxkaddr < (addr + size))
+                       panic("uvm_pageboot_alloc: pmap_growkernel() failed");
+       }
+#endif
+
        virtual_space_start += size;
 
        /*



Home | Main Index | Thread Index | Old Index