Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/sparc64/sparc64 Mark page table pages as wired rath...
details: https://anonhg.NetBSD.org/src/rev/6b37c75750b8
branches: trunk
changeset: 480030:6b37c75750b8
user: eeh <eeh%NetBSD.org@localhost>
date: Thu Dec 30 16:31:18 1999 +0000
description:
Mark page table pages as wired rather than busy.
diffstat:
sys/arch/sparc64/sparc64/pmap.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diffs (38 lines):
diff -r de7602192cf5 -r 6b37c75750b8 sys/arch/sparc64/sparc64/pmap.c
--- a/sys/arch/sparc64/sparc64/pmap.c Thu Dec 30 16:27:54 1999 +0000
+++ b/sys/arch/sparc64/sparc64/pmap.c Thu Dec 30 16:31:18 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.46 1999/11/14 17:25:01 eeh Exp $ */
+/* $NetBSD: pmap.c,v 1.47 1999/12/30 16:31:18 eeh Exp $ */
/* #define NO_VCACHE */ /* Don't forget the locked TLB in dostart */
#define HWREF 1
/* #define BOOT_DEBUG */
@@ -3434,7 +3434,12 @@
vm_page_t
vm_page_alloc1()
{
- return uvm_pagealloc(NULL, 0, NULL, UVM_PGA_USERESERVE);
+ vm_page_t pg = uvm_pagealloc(NULL, 0, NULL, UVM_PGA_USERESERVE);
+ if (pg) {
+ pg->flags &= ~PG_BUSY; /* never busy */
+ pg->wire_count = 1; /* no mappings yet */
+ }
+ return pg;
}
/*
@@ -3449,11 +3454,13 @@
vm_page_free1(mem)
register vm_page_t mem;
{
- if (mem->flags != (PG_BUSY|PG_CLEAN|PG_FAKE)) {
+ if (mem->flags != (PG_CLEAN|PG_FAKE)) {
printf("Freeing invalid page %p\n", mem);
Debugger();
return;
}
+ mem->flags |= PG_BUSY;
+ mem->wire_count = 0;
uvm_pagefree(mem);
}
Home |
Main Index |
Thread Index |
Old Index