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.18->1.19 (thorpej)
details: https://anonhg.NetBSD.org/src/rev/e529e0f1208e
branches: netbsd-1-4
changeset: 468712:e529e0f1208e
user: perry <perry%NetBSD.org@localhost>
date: Fri Jun 18 16:51:43 1999 +0000
description:
pullup 1.18->1.19 (thorpej)
diffstat:
sys/uvm/uvm_page.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diffs (47 lines):
diff -r 3050af6b63cf -r e529e0f1208e sys/uvm/uvm_page.c
--- a/sys/uvm/uvm_page.c Fri Jun 18 16:49:45 1999 +0000
+++ b/sys/uvm/uvm_page.c Fri Jun 18 16:51:43 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uvm_page.c,v 1.17.2.1 1999/04/16 16:29:34 chs Exp $ */
+/* $NetBSD: uvm_page.c,v 1.17.2.2 1999/06/18 16:51:43 perry Exp $ */
/*
* Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -385,6 +385,7 @@
#else /* !PMAP_STEAL_MEMORY */
+ static boolean_t initialized = FALSE;
vaddr_t addr, vaddr;
paddr_t paddr;
@@ -392,21 +393,25 @@
size = round_page(size);
/*
- * on first call to this function init ourselves. we detect this
- * by checking virtual_space_start/end which are in the zero'd BSS area.
+ * on first call to this function, initialize ourselves.
*/
-
- if (virtual_space_start == virtual_space_end) {
+ if (initialized == FALSE) {
pmap_virtual_space(&virtual_space_start, &virtual_space_end);
/* round it the way we like it */
virtual_space_start = round_page(virtual_space_start);
virtual_space_end = trunc_page(virtual_space_end);
+
+ initialized = TRUE;
}
/*
* allocate virtual memory for this request
*/
+ if (virtual_space_start == virtual_space_end ||
+ (virtual_space_end - virtual_space_start) < size) {
+ panic("uvm_pageboot_alloc: out of virtual space");
+ }
addr = virtual_space_start;
virtual_space_start += size;
Home |
Main Index |
Thread Index |
Old Index