Module Name: src
Committed By: skrll
Date: Sun Oct 20 08:29:38 UTC 2019
Modified Files:
src/sys/arch/mips/mips: pmap_machdep.c
src/sys/uvm/pmap: pmap.c vmpagemd.h
Log Message:
Define and use VM_PAGEMD_PVLIST_EMPTY_P
To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/mips/mips/pmap_machdep.c
cvs rdiff -u -r1.43 -r1.44 src/sys/uvm/pmap/pmap.c
cvs rdiff -u -r1.14 -r1.15 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/arch/mips/mips/pmap_machdep.c
diff -u src/sys/arch/mips/mips/pmap_machdep.c:1.25 src/sys/arch/mips/mips/pmap_machdep.c:1.26
--- src/sys/arch/mips/mips/pmap_machdep.c:1.25 Thu Aug 15 12:24:08 2019
+++ src/sys/arch/mips/mips/pmap_machdep.c Sun Oct 20 08:29:38 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap_machdep.c,v 1.25 2019/08/15 12:24:08 maxv Exp $ */
+/* $NetBSD: pmap_machdep.c,v 1.26 2019/10/20 08:29:38 skrll Exp $ */
/*-
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_machdep.c,v 1.25 2019/08/15 12:24:08 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_machdep.c,v 1.26 2019/10/20 08:29:38 skrll Exp $");
/*
* Manages physical address maps.
@@ -643,7 +643,7 @@ pmap_copy_page(paddr_t src_pa, paddr_t d
const register_t src_va = pmap_md_map_ephemeral_page(src_pg, false,
VM_PROT_READ, &src_pte);
- KASSERT(VM_PAGE_TO_MD(dst_pg)->mdpg_first.pv_pmap == NULL);
+ KASSERT(VM_PAGEMD_PVLIST_EMPTY_P(VM_PAGE_TO_MD(dst_pg)));
KASSERT(!VM_PAGEMD_EXECPAGE_P(VM_PAGE_TO_MD(dst_pg)));
const register_t dst_va = pmap_md_map_ephemeral_page(dst_pg, false,
VM_PROT_READ|VM_PROT_WRITE, &dst_pte);
Index: src/sys/uvm/pmap/pmap.c
diff -u src/sys/uvm/pmap/pmap.c:1.43 src/sys/uvm/pmap/pmap.c:1.44
--- src/sys/uvm/pmap/pmap.c:1.43 Sun Oct 20 07:18:22 2019
+++ src/sys/uvm/pmap/pmap.c Sun Oct 20 08:29:38 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.43 2019/10/20 07:18:22 skrll Exp $ */
+/* $NetBSD: pmap.c,v 1.44 2019/10/20 08:29:38 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.43 2019/10/20 07:18:22 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.44 2019/10/20 08:29:38 skrll Exp $");
/*
* Manages physical address maps.
@@ -1045,7 +1045,7 @@ pmap_pte_protect(pmap_t pmap, vaddr_t sv
if (pg != NULL && pte_modified_p(pte)) {
struct vm_page_md * const mdpg = VM_PAGE_TO_MD(pg);
if (VM_PAGEMD_EXECPAGE_P(mdpg)) {
- KASSERT(mdpg->mdpg_first.pv_pmap != NULL);
+ KASSERT(!VM_PAGEMD_PVLIST_EMPTY_P(mdpg));
#ifdef PMAP_VIRTUAL_CACHE_ALIASES
if (VM_PAGEMD_CACHED_P(mdpg)) {
#endif
Index: src/sys/uvm/pmap/vmpagemd.h
diff -u src/sys/uvm/pmap/vmpagemd.h:1.14 src/sys/uvm/pmap/vmpagemd.h:1.15
--- src/sys/uvm/pmap/vmpagemd.h:1.14 Sun Oct 20 07:58:21 2019
+++ src/sys/uvm/pmap/vmpagemd.h Sun Oct 20 08:29:38 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: vmpagemd.h,v 1.14 2019/10/20 07:58:21 skrll Exp $ */
+/* $NetBSD: vmpagemd.h,v 1.15 2019/10/20 08:29:38 skrll Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -107,6 +107,8 @@ struct vm_page_md {
#define VM_PAGEMD_PVLIST_LOCKED_P(mdpg) pmap_pvlist_locked_p(mdpg)
#define VM_PAGEMD_PVLIST_GEN(mdpg) ((mdpg)->mdpg_attrs >> 16)
+#define VM_PAGEMD_PVLIST_EMPTY_P(mdpg) ((mdpg)->mdpg_first.pv_pmap == NULL)
+
#ifdef _KERNEL
#if defined(MULTIPROCESSOR) || defined(MODULAR)
kmutex_t *pmap_pvlist_lock_addr(struct vm_page_md *);