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 */

Reply via email to