From pmap.new.c (UVM case only):

Put the first 16M of RAM onto the "first16" free list, and everthing
else onto the default free list.
This commit is contained in:
thorpej 1998-07-08 05:41:59 +00:00
parent 9bbe01f100
commit 48abe1f910
1 changed files with 20 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pmap.c,v 1.57 1998/05/19 19:00:15 thorpej Exp $ */
/* $NetBSD: pmap.c,v 1.58 1998/07/08 05:41:59 thorpej Exp $ */
/*
* Copyright (c) 1993, 1994, 1995, 1997 Charles M. Hannum. All rights reserved.
@ -236,6 +236,9 @@ pmap_bootstrap(virtual_start)
{
vm_offset_t va;
pt_entry_t *pte, *junk;
#if defined(UVM)
int first16q;
#endif
/*
* set the VM page size.
@ -319,11 +322,24 @@ pmap_bootstrap(virtual_start)
* [i.e. here]
*/
#if defined(UVM)
if (avail_end < (16 * 1024 * 1024))
first16q = VM_FREELIST_DEFAULT;
else
first16q = VM_FREELIST_FIRST16;
if (avail_start < hole_start)
uvm_page_physload(atop(avail_start), atop(hole_start),
atop(avail_start), atop(hole_start));
uvm_page_physload(atop(hole_end), atop(avail_end),
atop(hole_end), atop(avail_end));
atop(avail_start), atop(hole_start), first16q);
if (first16q == VM_FREELIST_FIRST16) {
uvm_page_physload(atop(hole_end), atop(16 * 1024 * 1024),
atop(hole_end), atop(16 * 1024 * 1024), first16q);
uvm_page_physload(atop(16 * 1024 * 1024), atop(avail_end),
atop(16 * 1024 * 1024), atop(avail_end),
VM_FREELIST_DEFAULT);
} else {
uvm_page_physload(atop(hole_end), atop(avail_end),
atop(hole_end), atop(avail_end), first16q);
}
#else
if (avail_start < hole_start)
vm_page_physload(atop(avail_start), atop(hole_start),