Module Name: src Committed By: skrll Date: Fri Jul 12 10:39:12 UTC 2019
Modified Files: src/sys/uvm/pmap: pmap.c vmpagemd.h Log Message: Provide and use PV_ISKENTER_P. NFCI. To generate a diff of this commit: cvs rdiff -u -r1.41 -r1.42 src/sys/uvm/pmap/pmap.c cvs rdiff -u -r1.11 -r1.12 src/sys/uvm/pmap/vmpagemd.h 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/pmap/pmap.c diff -u src/sys/uvm/pmap/pmap.c:1.41 src/sys/uvm/pmap/pmap.c:1.42 --- src/sys/uvm/pmap/pmap.c:1.41 Wed Jun 19 09:56:17 2019 +++ src/sys/uvm/pmap/pmap.c Fri Jul 12 10:39:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.41 2019/06/19 09:56:17 skrll Exp $ */ +/* $NetBSD: pmap.c,v 1.42 2019/07/12 10:39:12 skrll Exp $ */ /*- * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.41 2019/06/19 09:56:17 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.42 2019/07/12 10:39:12 skrll Exp $"); /* * Manages physical address maps. @@ -722,7 +722,7 @@ pmap_page_remove(struct vm_page *pg) for (; pv != NULL; pv = npv) { npv = pv->pv_next; #ifdef PMAP_VIRTUAL_CACHE_ALIASES - if (pv->pv_va & PV_KENTER) { + if (PV_ISKENTER_P(pv)) { UVMHIST_LOG(pmaphist, " pv %#jx pmap %#jx va %jx" " skip", (uintptr_t)pv, (uintptr_t)pv->pv_pmap, pv->pv_va, 0); @@ -988,7 +988,7 @@ pmap_page_protect(struct vm_page *pg, vm if (pv->pv_pmap != NULL) { while (pv != NULL) { #ifdef PMAP_VIRTUAL_CACHE_ALIASES - if (pv->pv_va & PV_KENTER) { + if (PV_ISKENTER_P(pv)) { pv = pv->pv_next; continue; } @@ -1664,7 +1664,7 @@ pmap_clear_modify(struct vm_page *pg) pv_next = pv->pv_next; #ifdef PMAP_VIRTUAL_CACHE_ALIASES - if (pv->pv_va & PV_KENTER) + if (PV_ISKENTER_P(pv)) continue; #endif pt_entry_t * const ptep = pmap_pte_lookup(pmap, va); Index: src/sys/uvm/pmap/vmpagemd.h diff -u src/sys/uvm/pmap/vmpagemd.h:1.11 src/sys/uvm/pmap/vmpagemd.h:1.12 --- src/sys/uvm/pmap/vmpagemd.h:1.11 Wed Jun 19 12:55:01 2019 +++ src/sys/uvm/pmap/vmpagemd.h Fri Jul 12 10:39:12 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: vmpagemd.h,v 1.11 2019/06/19 12:55:01 christos Exp $ */ +/* $NetBSD: vmpagemd.h,v 1.12 2019/07/12 10:39:12 skrll Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -63,6 +63,8 @@ typedef struct pv_entry { #define PV_KENTER __BIT(0) } *pv_entry_t; +#define PV_ISKENTER_P(pv) (((pv->pv_va) & PV_KENTER) != 0) + #ifndef _MODULE #define VM_PAGEMD_REFERENCED __BIT(0) /* page has been referenced */