Module Name: src Committed By: uebayasi Date: Wed Aug 25 14:23:16 UTC 2010
Modified Files: src/sys/uvm [uebayasi-xip]: uvm_page.c Log Message: Fix DIAGNOSTIC build. Sprinkle some assertions. To generate a diff of this commit: cvs rdiff -u -r1.153.2.53 -r1.153.2.54 src/sys/uvm/uvm_page.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/uvm/uvm_page.c diff -u src/sys/uvm/uvm_page.c:1.153.2.53 src/sys/uvm/uvm_page.c:1.153.2.54 --- src/sys/uvm/uvm_page.c:1.153.2.53 Wed Aug 11 13:14:55 2010 +++ src/sys/uvm/uvm_page.c Wed Aug 25 14:23:16 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_page.c,v 1.153.2.53 2010/08/11 13:14:55 uebayasi Exp $ */ +/* $NetBSD: uvm_page.c,v 1.153.2.54 2010/08/25 14:23:16 uebayasi Exp $ */ /* * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -97,7 +97,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.53 2010/08/11 13:14:55 uebayasi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_page.c,v 1.153.2.54 2010/08/25 14:23:16 uebayasi Exp $"); #include "opt_ddb.h" #include "opt_uvmhist.h" @@ -873,7 +873,10 @@ #endif } +#ifdef DIAGNOSTIC + extern int uvm_physseg_inited; KASSERT(uvm_physseg_inited); +#endif #ifdef __HAVE_PMAP_PHYSSEG #ifdef __HAVE_PMAP_PHYSSEG_INIT @@ -902,13 +905,14 @@ } #endif +int uvm_physseg_inited; + static struct vm_physseg * uvm_physseg_alloc(struct vm_physseg_freelist *freelist, struct vm_physseg **segs, int nsegs, const paddr_t start, const paddr_t end) { struct vm_physseg *ps; - static int uvm_physseg_inited; if (uvmexp.pagesize == 0) panic("uvm_page_physload: page size not set!"); @@ -1584,6 +1588,8 @@ pmap_zero_page(VM_PAGE_TO_PHYS(pg)); } + KASSERT((pg->pqflags & PQ_FIXED) == 0); + return(pg); fail: @@ -2111,6 +2117,7 @@ { KASSERT(mutex_owned(&uvm_pageqlock)); + KASSERT((pg->pqflags & PQ_FIXED) == 0); KASSERT(pg->wire_count != 0 || uvmpdpol_pageisqueued_p(pg)); uvmpdpol_pagedeactivate(pg); } @@ -2126,6 +2133,7 @@ { KASSERT(mutex_owned(&uvm_pageqlock)); + KASSERT((pg->pqflags & PQ_FIXED) == 0); #if defined(READAHEAD_STATS) if ((pg->pqflags & PQ_READAHEAD) != 0) { uvm_ra_hit.ev_count++; @@ -2146,6 +2154,7 @@ uvm_pagedequeue(struct vm_page *pg) { + KASSERT((pg->pqflags & PQ_FIXED) == 0); if (uvmpdpol_pageisqueued_p(pg)) { KASSERT(mutex_owned(&uvm_pageqlock)); } @@ -2163,6 +2172,7 @@ { KASSERT(mutex_owned(&uvm_pageqlock)); + KASSERT((pg->pqflags & PQ_FIXED) == 0); if (pg->wire_count != 0) { return; }