Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 2026 18:16:29 +0000
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 9a6e9d779923 - main - VM_PAGE_TO_DMAP: Wrapper macro to return direct map address for a page
Message-ID:  <69ea61fd.46d68.4d25641d@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=9a6e9d7799235d3e122bcc8065e865ae265a6ce2

commit 9a6e9d7799235d3e122bcc8065e865ae265a6ce2
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2026-04-23 17:05:55 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2026-04-23 17:05:55 +0000

    VM_PAGE_TO_DMAP: Wrapper macro to return direct map address for a page
    
    Effort:         CHERI upstreaming
    Reviewed by:    kib
    Sponsored by:   AFRL, DARPA
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/2068
---
 sys/amd64/acpica/acpi_wakeup.c  |  2 +-
 sys/amd64/amd64/efirt_machdep.c |  2 +-
 sys/amd64/amd64/mp_machdep.c    | 12 ++++++------
 sys/amd64/amd64/pmap.c          | 41 ++++++++++++++++++++--------------------
 sys/amd64/include/sf_buf.h      |  2 +-
 sys/arm64/arm64/efirt_machdep.c |  2 +-
 sys/arm64/arm64/pmap.c          | 24 +++++++++++------------
 sys/arm64/include/sf_buf.h      |  2 +-
 sys/dev/hwt/hwt_vm.c            |  6 +-----
 sys/dev/iscsi/icl_soft.c        |  4 ++--
 sys/dev/vmm/vmm_mem.c           |  2 +-
 sys/kern/uipc_ktls.c            |  2 +-
 sys/opencrypto/criov.c          | 22 ++++++++++-----------
 sys/powerpc/aim/mmu_oea64.c     | 22 +++++----------------
 sys/powerpc/aim/mmu_radix.c     | 42 ++++++++++++++++++-----------------------
 sys/powerpc/aim/slb.c           |  2 +-
 sys/powerpc/booke/pmap_64.c     | 20 ++++++++------------
 sys/riscv/include/sf_buf.h      |  2 +-
 sys/riscv/riscv/pmap.c          | 22 ++++++++++-----------
 sys/sys/sf_buf.h                |  2 +-
 sys/vm/uma_core.c               |  8 ++------
 sys/vm/vm_page.h                |  1 +
 22 files changed, 105 insertions(+), 139 deletions(-)

diff --git a/sys/amd64/acpica/acpi_wakeup.c b/sys/amd64/acpica/acpi_wakeup.c
index ace559236de5..0dd670300da9 100644
--- a/sys/amd64/acpica/acpi_wakeup.c
+++ b/sys/amd64/acpica/acpi_wakeup.c
@@ -344,7 +344,7 @@ acpi_alloc_wakeup_handler(void **wakeaddr,
 
 	for (i = 0; i < ACPI_WAKEPT_PAGES - (la57 ? 0 : 1); i++) {
 		wakept_m[i] = pmap_page_alloc_below_4g(true);
-		wakept_pages[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(wakept_m[i]));
+		wakept_pages[i] = VM_PAGE_TO_DMAP(wakept_m[i]);
 	}
 	if (EVENTHANDLER_REGISTER(power_resume, acpi_stop_beep, NULL,
 	    EVENTHANDLER_PRI_LAST) == NULL) {
diff --git a/sys/amd64/amd64/efirt_machdep.c b/sys/amd64/amd64/efirt_machdep.c
index 17088f69887d..f3e3db9cba9c 100644
--- a/sys/amd64/amd64/efirt_machdep.c
+++ b/sys/amd64/amd64/efirt_machdep.c
@@ -197,7 +197,7 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz)
 	VM_OBJECT_WLOCK(obj_1t1_pt);
 	efi_pmltop_page = efi_1t1_page();
 	VM_OBJECT_WUNLOCK(obj_1t1_pt);
-	pml = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_pmltop_page));
+	pml = VM_PAGE_TO_DMAP(efi_pmltop_page);
 	if (la57) {
 		efi_pml5 = pml;
 		pmap_pinit_pml5(efi_pmltop_page);
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 172b0b9e544e..69490b8e275f 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -355,29 +355,29 @@ start_all_aps(void)
 	/* Create a transient 1:1 mapping of low 4G */
 	if (la57) {
 		m_pml4 = pmap_page_alloc_below_4g(true);
-		v_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pml4));
+		v_pml4 = VM_PAGE_TO_DMAP(m_pml4);
 	} else {
 		v_pml4 = &kernel_pmap->pm_pmltop[0];
 	}
 	m_pdp = pmap_page_alloc_below_4g(true);
-	v_pdp = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pdp));
+	v_pdp = VM_PAGE_TO_DMAP(m_pdp);
 	m_pd[0] = pmap_page_alloc_below_4g(false);
-	v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[0]));
+	v_pd = VM_PAGE_TO_DMAP(m_pd[0]);
 	for (i = 0; i < NPDEPG; i++)
 		v_pd[i] = (i << PDRSHIFT) | X86_PG_V | X86_PG_RW | X86_PG_A |
 		    X86_PG_M | PG_PS;
 	m_pd[1] = pmap_page_alloc_below_4g(false);
-	v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[1]));
+	v_pd = VM_PAGE_TO_DMAP(m_pd[1]);
 	for (i = 0; i < NPDEPG; i++)
 		v_pd[i] = (NBPDP + (i << PDRSHIFT)) | X86_PG_V | X86_PG_RW |
 		    X86_PG_A | X86_PG_M | PG_PS;
 	m_pd[2] = pmap_page_alloc_below_4g(false);
-	v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[2]));
+	v_pd = VM_PAGE_TO_DMAP(m_pd[2]);
 	for (i = 0; i < NPDEPG; i++)
 		v_pd[i] = (2UL * NBPDP + (i << PDRSHIFT)) | X86_PG_V |
 		    X86_PG_RW | X86_PG_A | X86_PG_M | PG_PS;
 	m_pd[3] = pmap_page_alloc_below_4g(false);
-	v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[3]));
+	v_pd = VM_PAGE_TO_DMAP(m_pd[3]);
 	for (i = 0; i < NPDEPG; i++)
 		v_pd[i] = (3UL * NBPDP + (i << PDRSHIFT)) | X86_PG_V |
 		    X86_PG_RW | X86_PG_A | X86_PG_M | PG_PS;
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 6f8f767c40bd..691fac8c89b4 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -4233,7 +4233,7 @@ pmap_pinit_pml4(vm_page_t pml4pg)
 	pml4_entry_t *pm_pml4;
 	int i;
 
-	pm_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pg));
+	pm_pml4 = VM_PAGE_TO_DMAP(pml4pg);
 
 	/* Wire in kernel global address entries. */
 	for (i = 0; i < NKPML4E; i++) {
@@ -4276,7 +4276,7 @@ pmap_pinit_pml5(vm_page_t pml5pg)
 	pml5_entry_t *pm_pml5;
 	int i;
 
-	pm_pml5 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml5pg));
+	pm_pml5 = VM_PAGE_TO_DMAP(pml5pg);
 	for (i = 0; i < NPML5EPG / 2; i++)
 		pm_pml5[i] = 0;
 	for (; i < NPML5EPG; i++)
@@ -4289,7 +4289,7 @@ pmap_pinit_pml4_pti(vm_page_t pml4pgu)
 	pml4_entry_t *pm_pml4u;
 	int i;
 
-	pm_pml4u = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pgu));
+	pm_pml4u = VM_PAGE_TO_DMAP(pml4pgu);
 	for (i = 0; i < NPML4EPG; i++)
 		pm_pml4u[i] = pti_pml4[i];
 }
@@ -4299,7 +4299,7 @@ pmap_pinit_pml5_pti(vm_page_t pml5pgu)
 {
 	pml5_entry_t *pm_pml5u;
 
-	pm_pml5u = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml5pgu));
+	pm_pml5u = VM_PAGE_TO_DMAP(pml5pgu);
 	pagezero(pm_pml5u);
 
 	/*
@@ -4752,7 +4752,7 @@ retry:
 			else
 				return (NULL);
 		}
-		pde = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+		pde = VM_PAGE_TO_DMAP(pdpg);
 		pde = &pde[pmap_pde_index(va)];
 	} else
 		panic("pmap_alloc_pde: missing page table page for va %#lx",
@@ -7027,7 +7027,7 @@ restart:
 			    NULL, va);
 			if (mp == NULL)
 				goto allocf;
-			pdpe = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+			pdpe = VM_PAGE_TO_DMAP(mp);
 			pdpe = &pdpe[pmap_pdpe_index(va)];
 			origpte = *pdpe;
 			MPASS(origpte == 0);
@@ -7048,7 +7048,7 @@ restart:
 			    NULL, va);
 			if (mp == NULL)
 				goto allocf;
-			pde = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+			pde = VM_PAGE_TO_DMAP(mp);
 			pde = &pde[pmap_pde_index(va)];
 			origpte = *pde;
 			MPASS(origpte == 0);
@@ -7757,7 +7757,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
 					return (NULL);
 			}
 		}
-		pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+		pte = VM_PAGE_TO_DMAP(mpte);
 		pte = &pte[pmap_pte_index(va)];
 	} else {
 		mpte = NULL;
@@ -8192,7 +8192,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
 			} else if ((dstmpte = pmap_allocpte(dst_pmap, addr,
 			    NULL)) == NULL)
 				goto out;
-			dst_pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
+			dst_pte = VM_PAGE_TO_DMAP(dstmpte);
 			dst_pte = &dst_pte[pmap_pte_index(addr)];
 			if (*dst_pte == 0 &&
 			    pmap_try_insert_pv_entry(dst_pmap, addr,
@@ -8260,7 +8260,7 @@ pmap_zero_page(vm_page_t m)
 #ifdef TSLOG_PAGEZERO
 	TSENTER();
 #endif
-	va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	va = VM_PAGE_TO_DMAP(m);
 	pagezero(va);
 #ifdef TSLOG_PAGEZERO
 	TSEXIT();
@@ -8274,7 +8274,7 @@ pmap_zero_page(vm_page_t m)
 void
 pmap_zero_page_area(vm_page_t m, int off, int size)
 {
-	void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	void *va = VM_PAGE_TO_DMAP(m);
 
 	if (off == 0 && size == PAGE_SIZE)
 		pagezero(va);
@@ -8288,8 +8288,8 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
 void
 pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
 {
-	void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
-	void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+	void *src = VM_PAGE_TO_DMAP(msrc);
+	void *dst = VM_PAGE_TO_DMAP(mdst);
 
 	pagecopy(src, dst);
 }
@@ -9613,8 +9613,7 @@ pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 	 * required for data coherence.
 	 */
 	if ((m->flags & PG_FICTITIOUS) == 0 &&
-	    pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
-	    m->md.pat_mode))
+	    pmap_change_attr(VM_PAGE_TO_DMAP(m), PAGE_SIZE, m->md.pat_mode))
 		panic("memory attribute change on the direct map failed");
 }
 
@@ -9631,8 +9630,8 @@ pmap_page_set_memattr_noflush(vm_page_t m, vm_memattr_t ma)
 	if ((m->flags & PG_FICTITIOUS) != 0)
 		return;
 	PMAP_LOCK(kernel_pmap);
-	error = pmap_change_props_locked(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)),
-	    PAGE_SIZE, PROT_NONE, m->md.pat_mode, 0);
+	error = pmap_change_props_locked(VM_PAGE_TO_DMAP(m), PAGE_SIZE,
+	    PROT_NONE, m->md.pat_mode, 0);
 	PMAP_UNLOCK(kernel_pmap);
 	if (error != 0)
 		panic("memory attribute change on the direct map failed");
@@ -11150,7 +11149,7 @@ pmap_pti_init(void)
 	pti_obj = vm_pager_allocate(OBJT_PHYS, NULL, 0, VM_PROT_ALL, 0, NULL);
 	VM_OBJECT_WLOCK(pti_obj);
 	pml4_pg = pmap_pti_alloc_page();
-	pti_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4_pg));
+	pti_pml4 = VM_PAGE_TO_DMAP(pml4_pg);
 	for (va = kva_layout.km_low; va <= kva_layout.km_high &&
 	    va >= kva_layout.km_low && va > NBPML4; va += NBPML4) {
 		pdpe = pmap_pti_pdpe(va);
@@ -12279,7 +12278,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
 	pd_entry_t *pd;
 	int i4, i3, i2;
 
-	pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg4));
+	pml4 = VM_PAGE_TO_DMAP(pg4);
 	for (i4 = 0; i4 < num_entries; i4++) {
 		if ((pml4[i4] & PG_V) == 0)
 			continue;
@@ -12289,7 +12288,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
 			continue;
 		}
 		ptpages_show_page(3, i4, pg3);
-		pdp = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg3));
+		pdp = VM_PAGE_TO_DMAP(pg3);
 		for (i3 = 0; i3 < NPDPEPG; i3++) {
 			if ((pdp[i3] & PG_V) == 0)
 				continue;
@@ -12299,7 +12298,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
 				continue;
 			}
 			ptpages_show_page(2, i3, pg2);
-			pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg2));
+			pd = VM_PAGE_TO_DMAP(pg2);
 			for (i2 = 0; i2 < NPDEPG; i2++) {
 				if ((pd[i2] & PG_V) == 0)
 					continue;
diff --git a/sys/amd64/include/sf_buf.h b/sys/amd64/include/sf_buf.h
index 18f4b67a5a35..0f0d88783210 100644
--- a/sys/amd64/include/sf_buf.h
+++ b/sys/amd64/include/sf_buf.h
@@ -40,7 +40,7 @@ static inline void *
 sf_buf_kva(struct sf_buf *sf)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+	return (VM_PAGE_TO_DMAP((vm_page_t)sf));
 }
 
 static inline vm_page_t
diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c
index c8d23199583e..b079393cd2a9 100644
--- a/sys/arm64/arm64/efirt_machdep.c
+++ b/sys/arm64/arm64/efirt_machdep.c
@@ -179,7 +179,7 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz)
 	VM_OBJECT_WLOCK(obj_1t1_pt);
 	efi_l0_page = efi_1t1_page();
 	VM_OBJECT_WUNLOCK(obj_1t1_pt);
-	efi_l0 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_l0_page));
+	efi_l0 = VM_PAGE_TO_DMAP(efi_l0_page);
 	efi_ttbr0 = ASID_TO_OPERAND(ASID_RESERVED_FOR_EFI) |
 	    VM_PAGE_TO_PHYS(efi_l0_page);
 
diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index a0f8bbb4bed0..4ba2fb6f6678 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -3035,7 +3035,7 @@ retry:
 			else
 				return (NULL);
 		}
-		l2 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(l2pg));
+		l2 = VM_PAGE_TO_DMAP(l2pg);
 		l2 = &l2[pmap_l2_index(va)];
 	} else
 		panic("pmap_alloc_l2: missing page table page for va %#lx",
@@ -5309,7 +5309,7 @@ restart:
 				PMAP_LOCK(pmap);
 				goto restart;
 			}
-			l2p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+			l2p = VM_PAGE_TO_DMAP(mp);
 			l2p = &l2p[pmap_l2_index(va)];
 			origpte = pmap_load(l2p);
 		} else {
@@ -5341,7 +5341,7 @@ restart:
 				goto restart;
 			}
 			mp->ref_count += L3C_ENTRIES - 1;
-			l3p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+			l3p = VM_PAGE_TO_DMAP(mp);
 			l3p = &l3p[pmap_l3_index(va)];
 		} else {
 			l3p = pmap_l2_to_l3(l2p, va);
@@ -6112,7 +6112,7 @@ retry:
 				(*ml3p)->ref_count += L3C_ENTRIES - 1;
 			}
 		}
-		l3p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*ml3p));
+		l3p = VM_PAGE_TO_DMAP(*ml3p);
 	} else {
 		*ml3p = NULL;
 
@@ -6368,7 +6368,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
 					return (mpte);
 			}
 		}
-		l3 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+		l3 = VM_PAGE_TO_DMAP(mpte);
 		l3 = &l3[pmap_l3_index(va)];
 	} else {
 		mpte = NULL;
@@ -6788,7 +6788,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
 			} else if ((dstmpte = pmap_alloc_l3(dst_pmap, addr,
 			    NULL)) == NULL)
 				goto out;
-			dst_pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
+			dst_pte = VM_PAGE_TO_DMAP(dstmpte);
 			dst_pte = &dst_pte[pmap_l3_index(addr)];
 			if ((ptetemp & ATTR_CONTIGUOUS) != 0 && (addr &
 			    L3C_OFFSET) == 0 && addr + L3C_OFFSET <=
@@ -6875,7 +6875,7 @@ pmap_vmspace_copy(pmap_t dst_pmap, pmap_t src_pmap)
 void
 pmap_zero_page(vm_page_t m)
 {
-	void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	void *va = VM_PAGE_TO_DMAP(m);
 
 	pagezero(va);
 }
@@ -6889,7 +6889,7 @@ pmap_zero_page(vm_page_t m)
 void
 pmap_zero_page_area(vm_page_t m, int off, int size)
 {
-	void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	void *va = VM_PAGE_TO_DMAP(m);
 
 	if (off == 0 && size == PAGE_SIZE)
 		pagezero(va);
@@ -6906,8 +6906,8 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
 void
 pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
 {
-	void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
-	void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+	void *src = VM_PAGE_TO_DMAP(msrc);
+	void *dst = VM_PAGE_TO_DMAP(mdst);
 
 	pagecopy(src, dst);
 }
@@ -6954,7 +6954,7 @@ void *
 pmap_quick_enter_page(vm_page_t m)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 void
@@ -8195,7 +8195,7 @@ pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 	 * required for data coherence.
 	 */
 	if ((m->flags & PG_FICTITIOUS) == 0 &&
-	    pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
+	    pmap_change_attr(VM_PAGE_TO_DMAP(m), PAGE_SIZE,
 	    m->md.pv_memattr) != 0)
 		panic("memory attribute change on the direct map failed");
 }
diff --git a/sys/arm64/include/sf_buf.h b/sys/arm64/include/sf_buf.h
index 497789732c27..c476dc75852b 100644
--- a/sys/arm64/include/sf_buf.h
+++ b/sys/arm64/include/sf_buf.h
@@ -41,7 +41,7 @@ static inline void *
 sf_buf_kva(struct sf_buf *sf)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+	return (VM_PAGE_TO_DMAP((vm_page_t)sf));
 }
 
 static inline vm_page_t
diff --git a/sys/dev/hwt/hwt_vm.c b/sys/dev/hwt/hwt_vm.c
index 0ea1fe44d4e3..42fc636e7abc 100644
--- a/sys/dev/hwt/hwt_vm.c
+++ b/sys/dev/hwt/hwt_vm.c
@@ -109,9 +109,6 @@ hwt_vm_alloc_pages(struct hwt_vm *vm, int kva_req)
 {
 	vm_paddr_t low, high, boundary;
 	vm_memattr_t memattr;
-#ifdef  __aarch64__
-	void *va;
-#endif
 	int alignment;
 	vm_page_t m;
 	int pflags;
@@ -159,8 +156,7 @@ retry:
 #endif
 
 #ifdef __aarch64__
-		va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
-		cpu_dcache_wb_range(va, PAGE_SIZE);
+		cpu_dcache_wb_range(VM_PAGE_TO_DMAP(m), PAGE_SIZE);
 #endif
 
 		m->valid = VM_PAGE_BITS_ALL;
diff --git a/sys/dev/iscsi/icl_soft.c b/sys/dev/iscsi/icl_soft.c
index ea5b1e6c51c4..b03a88473187 100644
--- a/sys/dev/iscsi/icl_soft.c
+++ b/sys/dev/iscsi/icl_soft.c
@@ -1196,7 +1196,7 @@ icl_soft_conn_pdu_append_bio(struct icl_conn *ic, struct icl_pdu *request,
 
 	while (len > 0) {
 		todo = MIN(len, PAGE_SIZE - page_offset);
-		vaddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(bp->bio_ma[i]));
+		vaddr = VM_PAGE_TO_DMAP(bp->bio_ma[i]);
 
 		do {
 			mtodo = min(todo, M_SIZE(m) - m->m_len);
@@ -1287,7 +1287,7 @@ icl_soft_conn_pdu_get_bio(struct icl_conn *ic, struct icl_pdu *ip,
 	while (len > 0) {
 		todo = MIN(len, PAGE_SIZE - page_offset);
 
-		vaddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(bp->bio_ma[i]));
+		vaddr = VM_PAGE_TO_DMAP(bp->bio_ma[i]);
 		m_copydata(ip->ip_data_mbuf, pdu_off, todo, vaddr +
 		    page_offset);
 
diff --git a/sys/dev/vmm/vmm_mem.c b/sys/dev/vmm/vmm_mem.c
index fc48756510ef..143020968de3 100644
--- a/sys/dev/vmm/vmm_mem.c
+++ b/sys/dev/vmm/vmm_mem.c
@@ -449,7 +449,7 @@ _vm_gpa_hold(struct vm *vm, vm_paddr_t gpa, size_t len, int reqprot,
 
 	if (count == 1) {
 		*cookie = m;
-		return ((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)) + pageoff);
+		return ((char *)VM_PAGE_TO_DMAP(m) + pageoff);
 	} else {
 		*cookie = NULL;
 		return (NULL);
diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c
index 41b18b29929b..61d1a171c467 100644
--- a/sys/kern/uipc_ktls.c
+++ b/sys/kern/uipc_ktls.c
@@ -449,7 +449,7 @@ ktls_buffer_import(void *arg, void **store, int count, int domain, int flags)
 		    VM_MEMATTR_DEFAULT);
 		if (m == NULL)
 			break;
-		store[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+		store[i] = VM_PAGE_TO_DMAP(m);
 	}
 	return (i);
 }
diff --git a/sys/opencrypto/criov.c b/sys/opencrypto/criov.c
index ffe13bcca5bb..a77543485a8f 100644
--- a/sys/opencrypto/criov.c
+++ b/sys/opencrypto/criov.c
@@ -162,7 +162,7 @@ cvm_page_apply(vm_page_t *pages, int off, int len,
 	processed = 0;
 	CVM_PAGE_SKIP();
 	while (len > 0) {
-		char *kaddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages));
+		char *kaddr = VM_PAGE_TO_DMAP(*pages);
 		count = min(PAGE_SIZE - off, len);
 		rval = (*f)(arg, kaddr + off, count);
 		if (rval)
@@ -183,7 +183,7 @@ cvm_page_contiguous_segment(vm_page_t *pages, size_t skip, int len)
 
 	pages += (skip / PAGE_SIZE);
 	skip -= rounddown(skip, PAGE_SIZE);
-	return (((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages))) + skip);
+	return ((char *)VM_PAGE_TO_DMAP(*pages) + skip);
 }
 
 /*
@@ -200,8 +200,7 @@ cvm_page_copyback(vm_page_t *pages, int off, int len, c_caddr_t cp)
 	CVM_PAGE_SKIP();
 	while (len > 0) {
 		count = min(PAGE_SIZE - off, len);
-		bcopy(cp, (char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages)) + off,
-		    count);
+		bcopy(cp, (char *)VM_PAGE_TO_DMAP(*pages) + off, count);
 		len -= count;
 		cp += count;
 		processed += count;
@@ -225,8 +224,7 @@ cvm_page_copydata(vm_page_t *pages, int off, int len, caddr_t cp)
 	CVM_PAGE_SKIP();
 	while (len > 0) {
 		count = min(PAGE_SIZE - off, len);
-		bcopy(((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages)) + off), cp,
-		    count);
+		bcopy((char *)VM_PAGE_TO_DMAP(*pages) + off, cp, count);
 		len -= count;
 		cp += count;
 		processed += count;
@@ -439,8 +437,8 @@ crypto_cursor_segment(struct crypto_buffer_cursor *cc, size_t *len)
 		return (mtod(cc->cc_mbuf, char *) + cc->cc_offset);
 	case CRYPTO_BUF_VMPAGE:
 		*len = PAGE_SIZE - cc->cc_offset;
-		return ((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(
-		    *cc->cc_vmpage)) + cc->cc_offset);
+		return ((char *)VM_PAGE_TO_DMAP(*cc->cc_vmpage) +
+		    cc->cc_offset);
 	case CRYPTO_BUF_UIO:
 		*len = cc->cc_iov->iov_len - cc->cc_offset;
 		return ((char *)cc->cc_iov->iov_base + cc->cc_offset);
@@ -494,8 +492,8 @@ crypto_cursor_copyback(struct crypto_buffer_cursor *cc, int size,
 		break;
 	case CRYPTO_BUF_VMPAGE:
 		for (;;) {
-			dst = (char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(
-			    *cc->cc_vmpage)) + cc->cc_offset;
+			dst = (char *)VM_PAGE_TO_DMAP(*cc->cc_vmpage) +
+			    cc->cc_offset;
 			remain = MIN(PAGE_SIZE - cc->cc_offset, cc->cc_buf_len);
 			todo = MIN(remain, size);
 			memcpy(dst, src, todo);
@@ -583,8 +581,8 @@ crypto_cursor_copydata(struct crypto_buffer_cursor *cc, int size, void *vdst)
 		break;
 	case CRYPTO_BUF_VMPAGE:
 		for (;;) {
-			src = (char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(
-			    *cc->cc_vmpage)) + cc->cc_offset;
+			src = (char *)VM_PAGE_TO_DMAP(*cc->cc_vmpage) +
+			    cc->cc_offset;
 			remain = MIN(PAGE_SIZE - cc->cc_offset, cc->cc_buf_len);
 			todo = MIN(remain, size);
 			memcpy(dst, src, todo);
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c
index 93787d31256b..d8e85a72f4e0 100644
--- a/sys/powerpc/aim/mmu_oea64.c
+++ b/sys/powerpc/aim/mmu_oea64.c
@@ -1446,13 +1446,7 @@ moea64_copy_page(vm_page_t msrc, vm_page_t mdst)
 void
 moea64_copy_page_dmap(vm_page_t msrc, vm_page_t mdst)
 {
-	vm_paddr_t dst;
-	vm_paddr_t src;
-
-	dst = VM_PAGE_TO_PHYS(mdst);
-	src = VM_PAGE_TO_PHYS(msrc);
-
-	bcopy(PHYS_TO_DMAP(src), PHYS_TO_DMAP(dst), PAGE_SIZE);
+	bcopy(VM_PAGE_TO_DMAP(msrc), VM_PAGE_TO_DMAP(mdst), PAGE_SIZE);
 }
 
 inline void
@@ -1466,13 +1460,11 @@ moea64_copy_pages_dmap(vm_page_t *ma, vm_offset_t a_offset,
 	while (xfersize > 0) {
 		a_pg_offset = a_offset & PAGE_MASK;
 		cnt = min(xfersize, PAGE_SIZE - a_pg_offset);
-		a_cp = (char *)PHYS_TO_DMAP(
-		    VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])) +
+		a_cp = (char *)VM_PAGE_TO_DMAP(ma[a_offset >> PAGE_SHIFT]) +
 		    a_pg_offset;
 		b_pg_offset = b_offset & PAGE_MASK;
 		cnt = min(cnt, PAGE_SIZE - b_pg_offset);
-		b_cp = (char *)PHYS_TO_DMAP(
-		    VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])) +
+		b_cp = (char *)VM_PAGE_TO_DMAP(mb[b_offset >> PAGE_SHIFT]) +
 		    b_pg_offset;
 		bcopy(a_cp, b_cp, cnt);
 		a_offset += cnt;
@@ -1549,11 +1541,7 @@ moea64_zero_page(vm_page_t m)
 void
 moea64_zero_page_dmap(vm_page_t m)
 {
-	vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
-	void *va;
-
-	va = PHYS_TO_DMAP(pa);
-	bzero(va, PAGE_SIZE);
+	bzero(VM_PAGE_TO_DMAP(m), PAGE_SIZE);
 }
 
 void *
@@ -1586,7 +1574,7 @@ void *
 moea64_quick_enter_page_dmap(vm_page_t m)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 void
diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c
index dd3cb5128fd2..7df54408838e 100644
--- a/sys/powerpc/aim/mmu_radix.c
+++ b/sys/powerpc/aim/mmu_radix.c
@@ -1224,7 +1224,7 @@ retry:
 		PV_STAT(atomic_add_int(&pc_chunk_count, 1));
 		PV_STAT(atomic_add_int(&pc_chunk_allocs, 1));
 		dump_add_page(m->phys_addr);
-		pc = PHYS_TO_DMAP(m->phys_addr);
+		pc = VM_PAGE_TO_DMAP(m);
 		pc->pc_pmap = pmap;
 		pc->pc_map[0] = PC_FREE0;
 		pc->pc_map[1] = PC_FREE1;
@@ -1649,7 +1649,7 @@ retry:
 	PV_STAT(atomic_add_int(&pc_chunk_count, 1));
 	PV_STAT(atomic_add_int(&pc_chunk_allocs, 1));
 	dump_add_page(m->phys_addr);
-	pc = PHYS_TO_DMAP(m->phys_addr);
+	pc = VM_PAGE_TO_DMAP(m);
 	pc->pc_pmap = pmap;
 	pc->pc_map[0] = PC_FREE0 & ~1ul;	/* preallocated bit 0 */
 	pc->pc_map[1] = PC_FREE1;
@@ -2577,7 +2577,7 @@ mmu_radix_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr,
 			dst_pdpg = pmap_allocl3e(dst_pmap, addr, NULL);
 			if (dst_pdpg == NULL)
 				break;
-			l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dst_pdpg));
+			l3e = VM_PAGE_TO_DMAP(dst_pdpg);
 			l3e = &l3e[pmap_pml3e_index(addr)];
 			if (be64toh(*l3e) == 0 && ((srcptepaddr & PG_MANAGED) == 0 ||
 			    pmap_pv_insert_l3e(dst_pmap, addr, srcptepaddr,
@@ -2615,8 +2615,7 @@ mmu_radix_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr,
 				else if ((dstmpte = pmap_allocpte(dst_pmap,
 				    addr, NULL)) == NULL)
 					goto out;
-				dst_pte =
-				    PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
+				dst_pte = VM_PAGE_TO_DMAP(dstmpte);
 				dst_pte = &dst_pte[pmap_pte_index(addr)];
 				if (be64toh(*dst_pte) == 0 &&
 				    pmap_try_insert_pv_entry(dst_pmap, addr,
@@ -2670,8 +2669,8 @@ out:
 static void
 mmu_radix_copy_page(vm_page_t msrc, vm_page_t mdst)
 {
-	void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
-	void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+	void *src = VM_PAGE_TO_DMAP(msrc);
+	void *dst = VM_PAGE_TO_DMAP(mdst);
 
 	CTR3(KTR_PMAP, "%s(%p, %p)", __func__, src, dst);
 	/*
@@ -2694,13 +2693,11 @@ mmu_radix_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[],
         while (xfersize > 0) {
                 a_pg_offset = a_offset & PAGE_MASK;
                 cnt = min(xfersize, PAGE_SIZE - a_pg_offset);
-                a_cp = (char *)PHYS_TO_DMAP(
-		    VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])) +
+                a_cp = (char *)VM_PAGE_TO_DMAP(ma[a_offset >> PAGE_SHIFT]) +
                     a_pg_offset;
                 b_pg_offset = b_offset & PAGE_MASK;
                 cnt = min(cnt, PAGE_SIZE - b_pg_offset);
-                b_cp = (char *)PHYS_TO_DMAP(
-                    VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])) +
+                b_cp = (char *)VM_PAGE_TO_DMAP(mb[b_offset >> PAGE_SHIFT]) +
                     b_pg_offset;
                 bcopy(a_cp, b_cp, cnt);
                 a_offset += cnt;
@@ -3216,7 +3213,7 @@ pmap_enter_l3e(pmap_t pmap, vm_offset_t va, pml3_entry_t newpde, u_int flags,
 		    " in pmap %p", va, pmap);
 		return (KERN_RESOURCE_SHORTAGE);
 	}
-	l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+	l3e = VM_PAGE_TO_DMAP(pdpg);
 	l3e = &l3e[pmap_pml3e_index(va)];
 	oldl3e = be64toh(*l3e);
 	if ((oldl3e & PG_V) != 0) {
@@ -3279,7 +3276,7 @@ pmap_enter_l3e(pmap_t pmap, vm_offset_t va, pml3_entry_t newpde, u_int flags,
 		}
 		pmap_resident_count_inc(pmap, 1);
 		uwptpg->ref_count = NPTEPG;
-		pmap_fill_ptp(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(uwptpg)), newpde);
+		pmap_fill_ptp(VM_PAGE_TO_DMAP(uwptpg), newpde);
 	}
 	if ((newpde & PG_MANAGED) != 0) {
 		/*
@@ -3422,7 +3419,7 @@ mmu_radix_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
 					return (mpte);
 			}
 		}
-		pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+		pte = VM_PAGE_TO_DMAP(mpte);
 		pte = &pte[pmap_pte_index(va)];
 	} else {
 		mpte = NULL;
@@ -3629,7 +3626,7 @@ radix_pgd_import(void *arg __unused, void **store, int count, int domain __unuse
 		    RADIX_PGD_SIZE / PAGE_SIZE,
 		    0, (vm_paddr_t)-1, RADIX_PGD_SIZE, L1_PAGE_SIZE,
 		    VM_MEMATTR_DEFAULT);
-		store[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+		store[i] = VM_PAGE_TO_DMAP(m);
 	}
 	return (count);
 }
@@ -4104,7 +4101,7 @@ mmu_radix_object_init_pt(pmap_t pmap, vm_offset_t addr,
 				addr += L3_PAGE_SIZE;
 				continue;
 			}
-			l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+			l3e = VM_PAGE_TO_DMAP(pdpg);
 			l3e = &l3e[pmap_pml3e_index(addr)];
 			if ((be64toh(*l3e) & PG_V) == 0) {
 				pa |= PG_M | PG_A | PG_RW;
@@ -5783,7 +5780,7 @@ mmu_radix_zero_page(vm_page_t m)
 	void *addr;
 
 	CTR2(KTR_PMAP, "%s(%p)", __func__, m);
-	addr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	addr = VM_PAGE_TO_DMAP(m);
 	pagezero(addr);
 }
 
@@ -5794,7 +5791,7 @@ mmu_radix_zero_page_area(vm_page_t m, int off, int size)
 
 	CTR4(KTR_PMAP, "%s(%p, %d, %d)", __func__, m, off, size);
 	MPASS(off + size <= PAGE_SIZE);
-	addr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	addr = VM_PAGE_TO_DMAP(m);
 	memset(addr + off, 0, size);
 }
 
@@ -5945,8 +5942,8 @@ mmu_radix_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 	 * required for data coherence.
 	 */
 	if ((m->flags & PG_FICTITIOUS) == 0 &&
-	    mmu_radix_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)),
-	    PAGE_SIZE, m->md.mdpg_cache_attrs))
+	    mmu_radix_change_attr(VM_PAGE_TO_DMAP(m), PAGE_SIZE,
+	    m->md.mdpg_cache_attrs))
 		panic("memory attribute change on the direct map failed");
 }
 
@@ -6178,11 +6175,8 @@ mmu_radix_dumpsys_map(vm_paddr_t pa, size_t sz,
 void *
 mmu_radix_quick_enter_page(vm_page_t m)
 {
-	vm_paddr_t paddr;
-
 	CTR2(KTR_PMAP, "%s(%p)", __func__, m);
-	paddr = VM_PAGE_TO_PHYS(m);
-	return (PHYS_TO_DMAP(paddr));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 void
diff --git a/sys/powerpc/aim/slb.c b/sys/powerpc/aim/slb.c
index 00e3577001cd..84527cf2b54e 100644
--- a/sys/powerpc/aim/slb.c
+++ b/sys/powerpc/aim/slb.c
@@ -505,7 +505,7 @@ slb_uma_real_alloc(uma_zone_t zone, vm_size_t bytes, int domain,
 		return (NULL);
 
 	if (hw_direct_map)
-		va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+		va = VM_PAGE_TO_DMAP(m);
 	else {
 		va = (void *)(VM_PAGE_TO_PHYS(m) | DMAP_BASE_ADDRESS);
 		pmap_kenter((vm_offset_t)va, VM_PAGE_TO_PHYS(m));
diff --git a/sys/powerpc/booke/pmap_64.c b/sys/powerpc/booke/pmap_64.c
index 08449b9407ae..97f9a5967167 100644
--- a/sys/powerpc/booke/pmap_64.c
+++ b/sys/powerpc/booke/pmap_64.c
@@ -167,7 +167,7 @@ mmu_booke_alloc_page(pmap_t pmap, unsigned int idx, bool nosleep)
 	}
 	m->pindex = idx;
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 /* Initialize pool of kva ptbl buffers. */
@@ -669,7 +669,7 @@ mmu_booke_zero_page_area(vm_page_t m, int off, int size)
 
 	/* XXX KASSERT off and size are within a single page? */
 
-	va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	va = VM_PAGE_TO_DMAP(m);
 	bzero(va + off, size);
 }
 
@@ -679,11 +679,7 @@ mmu_booke_zero_page_area(vm_page_t m, int off, int size)
 static void
 mmu_booke_zero_page(vm_page_t m)
 {
-	void *va;
-
-	va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
-
-	bzero(va, PAGE_SIZE);
+	bzero(VM_PAGE_TO_DMAP(m), PAGE_SIZE);
 }
 
 /*
@@ -696,8 +692,8 @@ mmu_booke_copy_page(vm_page_t sm, vm_page_t dm)
 {
 	void *sva, *dva;
 
-	sva = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(sm));
-	dva = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dm));
+	sva = VM_PAGE_TO_DMAP(sm);
+	dva = VM_PAGE_TO_DMAP(dm);
 	memcpy(dva, sva, PAGE_SIZE);
 }
 
@@ -718,8 +714,8 @@ mmu_booke_copy_pages(vm_page_t *ma, vm_offset_t a_offset,
 		pb = mb[b_offset >> PAGE_SHIFT];
 		cnt = min(xfersize, PAGE_SIZE - a_pg_offset);
 		cnt = min(cnt, PAGE_SIZE - b_pg_offset);
-		a_cp = (caddr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pa)) + a_pg_offset;
-		b_cp = (caddr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pb)) + b_pg_offset;
+		a_cp = (caddr_t)VM_PAGE_TO_DMAP(pa) + a_pg_offset;
+		b_cp = (caddr_t)VM_PAGE_TO_DMAP(pb) + b_pg_offset;
 		bcopy(a_cp, b_cp, cnt);
 		a_offset += cnt;
 		b_offset += cnt;
@@ -730,7 +726,7 @@ mmu_booke_copy_pages(vm_page_t *ma, vm_offset_t a_offset,
 static void *
 mmu_booke_quick_enter_page(vm_page_t m)
 {
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 static void
diff --git a/sys/riscv/include/sf_buf.h b/sys/riscv/include/sf_buf.h
index 1ea67076e676..d00833238417 100644
--- a/sys/riscv/include/sf_buf.h
+++ b/sys/riscv/include/sf_buf.h
@@ -37,7 +37,7 @@ static inline void *
 sf_buf_kva(struct sf_buf *sf)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+	return (VM_PAGE_TO_DMAP((vm_page_t)sf));
 }
 
 static inline vm_page_t
diff --git a/sys/riscv/riscv/pmap.c b/sys/riscv/riscv/pmap.c
index 0cac747334a9..1f3fd8c24b81 100644
--- a/sys/riscv/riscv/pmap.c
+++ b/sys/riscv/riscv/pmap.c
@@ -2194,7 +2194,7 @@ retry:
 	PV_STAT(atomic_add_int(&pc_chunk_count, 1));
 	PV_STAT(atomic_add_int(&pc_chunk_allocs, 1));
 	dump_add_page(m->phys_addr);
-	pc = PHYS_TO_DMAP(m->phys_addr);
+	pc = VM_PAGE_TO_DMAP(m);
 	pc->pc_pmap = pmap;
 	pc->pc_map[0] = PC_FREEN & ~1ul;	/* preallocated bit 0 */
 	pc->pc_map[1] = PC_FREEN;
@@ -2257,7 +2257,7 @@ retry:
 		PV_STAT(atomic_add_int(&pc_chunk_count, 1));
 		PV_STAT(atomic_add_int(&pc_chunk_allocs, 1));
 		dump_add_page(m->phys_addr);
-		pc = PHYS_TO_DMAP(m->phys_addr);
+		pc = VM_PAGE_TO_DMAP(m);
 		pc->pc_pmap = pmap;
 		pc->pc_map[0] = PC_FREEN;
 		pc->pc_map[1] = PC_FREEN;
@@ -3585,7 +3585,7 @@ pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags,
 		return (KERN_RESOURCE_SHORTAGE);
 	}
 
-	l2 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(l2pg));
+	l2 = VM_PAGE_TO_DMAP(l2pg);
 	l2 = &l2[pmap_l2_index(va)];
 	if ((oldl2 = pmap_load(l2)) != 0) {
 		KASSERT(l2pg->ref_count > 1,
@@ -3827,7 +3827,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
 					return (mpte);
 			}
 		}
-		l3 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+		l3 = VM_PAGE_TO_DMAP(mpte);
 		l3 = &l3[pmap_l3_index(va)];
 	} else {
 		mpte = NULL;
@@ -4032,9 +4032,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
 void
 pmap_zero_page(vm_page_t m)
 {
-	void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
-
-	pagezero(va);
+	pagezero(VM_PAGE_TO_DMAP(m));
 }
 
 /*
@@ -4046,7 +4044,7 @@ pmap_zero_page(vm_page_t m)
 void
 pmap_zero_page_area(vm_page_t m, int off, int size)
 {
-	void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+	void *va = VM_PAGE_TO_DMAP(m);
 
 	if (off == 0 && size == PAGE_SIZE)
 		pagezero(va);
@@ -4063,8 +4061,8 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
 void
 pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
 {
-	void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
-	void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+	void *src = VM_PAGE_TO_DMAP(msrc);
+	void *dst = VM_PAGE_TO_DMAP(mdst);
 
 	pagecopy(src, dst);
 }
@@ -4111,7 +4109,7 @@ void *
 pmap_quick_enter_page(vm_page_t m)
 {
 
-	return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+	return (VM_PAGE_TO_DMAP(m));
 }
 
 void
@@ -4928,7 +4926,7 @@ pmap_page_set_memattr(vm_page_t m, vm_memattr_t ma)
 	 * required for data coherence.
 	 */
 	if ((m->flags & PG_FICTITIOUS) == 0 &&
-	    pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
+	    pmap_change_attr(VM_PAGE_TO_DMAP(m), PAGE_SIZE,
 	    m->md.pv_memattr) != 0)
 		panic("memory attribute change on the direct map failed");
 }
diff --git a/sys/sys/sf_buf.h b/sys/sys/sf_buf.h
index b03615237110..ef4892e72b73 100644
--- a/sys/sys/sf_buf.h
+++ b/sys/sys/sf_buf.h
@@ -114,7 +114,7 @@ static inline void *
 sf_buf_kva(struct sf_buf *sf)
 {
 	if (PMAP_HAS_DMAP)
-		return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+		return (VM_PAGE_TO_DMAP((vm_page_t)sf));
 
         return ((void *)sf->kva);
 }
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index 8070db40c06d..410b4f5a5142 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -2083,19 +2083,15 @@ uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, uint8_t *flags,
     int wait)
 {
 	vm_page_t m;
-	vm_paddr_t pa;
-	void *va;
 
 	*flags = UMA_SLAB_PRIV;
*** 26 LINES SKIPPED ***


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ea61fd.46d68.4d25641d>