Subject: Re: CVS commit: src/sys
To: None <thorpej@netbsd.org>
From: enami tsugutomo <enami@sm.sony.co.jp>
List: source-changes
Date: 05/09/2003 13:52:07
Jason R Thorpe <thorpej@netbsd.org> writes:

> This reduces the number of instances of this info from 3 to 1, and
> simplifies the pmap(9) interface by removing the pmap_virtual_space()
> function call, and removing two arguments from pmap_steal_memory().

At least following change was necessary to boot 1.6S on alphastation
500.

enami.

Index: machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/alpha/alpha/machdep.c,v
retrieving revision 1.266
diff -u -r1.266 machdep.c
--- machdep.c	2003/04/26 11:05:07	1.266
+++ machdep.c	2003/05/09 04:39:31
@@ -635,20 +636,13 @@
 		if (sz != reqsz)
 			printf("WARNING: %ld bytes not available for msgbuf "
 			    "in last cluster (%ld used)\n", reqsz, sz);
-
 	}
 
 	/*
-	 * NOTE: It is safe to use uvm_pageboot_alloc() before
-	 * pmap_bootstrap() because our pmap_virtual_space()
-	 * returns compile-time constants.
-	 */
-
-	/*
 	 * Init mapping for u page(s) for proc 0
 	 */
 	lwp0.l_addr = proc0paddr =
-	    (struct user *)uvm_pageboot_alloc(UPAGES * PAGE_SIZE);
+	    (struct user *)pmap_steal_memory(UPAGES * PAGE_SIZE);
 
 	/*
 	 * Allocate space for system data structures.  These data structures
@@ -657,7 +651,7 @@
 	 * virtual address space.
 	 */
 	size = (vsize_t)allocsys(NULL, NULL);
-	v = (caddr_t)uvm_pageboot_alloc(size);
+	v = (caddr_t)pmap_steal_memory(size);
 	if ((allocsys(v, NULL) - v) != size)
 		panic("alpha_init: table size inconsistency");
 
Index: pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/alpha/alpha/pmap.c,v
retrieving revision 1.198
diff -u -r1.198 pmap.c
--- pmap.c	2003/05/08 18:13:12	1.198
+++ pmap.c	2003/05/09 04:39:33
@@ -3157,7 +3157,7 @@
 				 * be handled a little differently.
 				 */
 				ptaddr = ALPHA_K0SEG_TO_PHYS(
-				    pmap_steal_memory(PAGE_SIZE, NULL, NULL));
+				    pmap_steal_memory(PAGE_SIZE));
 			} else if (pmap_physpage_alloc(PGU_NORMAL,
 				   &ptaddr) == FALSE)
 				goto die;
@@ -3196,7 +3196,7 @@
 			 * See above.
 			 */
 			ptaddr = ALPHA_K0SEG_TO_PHYS(
-			    pmap_steal_memory(PAGE_SIZE, NULL, NULL));
+			    pmap_steal_memory(PAGE_SIZE));
 		} else if (pmap_physpage_alloc(PGU_NORMAL, &ptaddr) == FALSE)
 			goto die;
 		*l2pte = (atop(ptaddr) << PG_SHIFT) |