aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2026-04-23 17:05:54 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2026-04-23 17:05:54 +0000
commitfe3e92e6868dce2ed94c98428b8df1f27ed3ef63 (patch)
tree027b31b44e12081aab6c139aedb8b2a6a11bd86d /sys
parentc49cbf849dee9121ed3b972df56d240068d0423e (diff)
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/acpica/acpi_wakeup.c3
-rw-r--r--sys/amd64/amd64/efirt_machdep.c12
-rw-r--r--sys/amd64/amd64/kexec_support.c8
-rw-r--r--sys/amd64/amd64/machdep.c2
-rw-r--r--sys/amd64/amd64/mem.c6
-rw-r--r--sys/amd64/amd64/minidump_machdep.c14
-rw-r--r--sys/amd64/amd64/mp_machdep.c14
-rw-r--r--sys/amd64/amd64/pmap.c171
-rw-r--r--sys/amd64/include/sf_buf.h2
-rw-r--r--sys/amd64/include/vmparam.h3
-rw-r--r--sys/amd64/vmm/amd/amdvi_hw.c7
-rw-r--r--sys/amd64/vmm/amd/ivrs_drv.c2
-rw-r--r--sys/amd64/vmm/intel/ept.c3
-rw-r--r--sys/amd64/vmm/intel/vtd.c8
-rw-r--r--sys/arm/include/vmparam.h3
-rw-r--r--sys/arm64/arm64/efirt_machdep.c12
-rw-r--r--sys/arm64/arm64/gicv3_its.c12
-rw-r--r--sys/arm64/arm64/kexec_support.c2
-rw-r--r--sys/arm64/arm64/machdep.c11
-rw-r--r--sys/arm64/arm64/mem.c3
-rw-r--r--sys/arm64/arm64/minidump_machdep.c2
-rw-r--r--sys/arm64/arm64/pmap.c123
-rw-r--r--sys/arm64/include/sf_buf.h2
-rw-r--r--sys/arm64/include/vmparam.h5
-rw-r--r--sys/arm64/iommu/iommu_pmap.c22
-rw-r--r--sys/arm64/vmm/vmm_mmu.c20
-rw-r--r--sys/compat/linuxkpi/common/include/linux/highmem.h2
-rw-r--r--sys/compat/linuxkpi/common/include/linux/io.h8
-rw-r--r--sys/compat/linuxkpi/common/include/linux/scatterlist.h2
-rw-r--r--sys/compat/linuxkpi/common/src/linux_page.c3
-rw-r--r--sys/contrib/ncsw/user/env/xx.c2
-rw-r--r--sys/crypto/ccp/ccp_hardware.c2
-rw-r--r--sys/dev/efidev/efirt.c4
-rw-r--r--sys/dev/hwt/hwt_vm.c4
-rw-r--r--sys/dev/iscsi/icl_soft.c10
-rw-r--r--sys/dev/vmm/vmm_mem.c2
-rw-r--r--sys/dev/vnic/nicvf_queues.c3
-rw-r--r--sys/fs/nfs/nfs_commonsubs.c9
-rw-r--r--sys/fs/nfs/nfsm_subs.h3
-rw-r--r--sys/fs/nfsclient/nfs_clcomsubs.c12
-rw-r--r--sys/fs/nfsclient/nfs_clrpcops.c4
-rw-r--r--sys/fs/nfsserver/nfs_nfsdport.c4
-rw-r--r--sys/fs/nfsserver/nfs_nfsdserv.c7
-rw-r--r--sys/fs/nfsserver/nfs_nfsdsubs.c2
-rw-r--r--sys/i386/include/vmparam.h3
-rw-r--r--sys/kern/kern_mbuf.c4
-rw-r--r--sys/kern/subr_memdesc.c4
-rw-r--r--sys/kern/uipc_ktls.c4
-rw-r--r--sys/kern/uipc_mbuf.c2
-rw-r--r--sys/opencrypto/criov.c4
-rw-r--r--sys/opencrypto/ktls_ocf.c3
-rw-r--r--sys/powerpc/aim/mmu_oea64.c29
-rw-r--r--sys/powerpc/aim/mmu_radix.c101
-rw-r--r--sys/powerpc/aim/moea64_native.c4
-rw-r--r--sys/powerpc/aim/slb.c2
-rw-r--r--sys/powerpc/booke/pmap.c2
-rw-r--r--sys/powerpc/booke/pmap_64.c46
-rw-r--r--sys/powerpc/include/vmparam.h3
-rw-r--r--sys/powerpc/ofw/ofw_initrd.c2
-rw-r--r--sys/powerpc/ofw/ofw_machdep.c7
-rw-r--r--sys/powerpc/powerpc/bus_machdep.c2
-rw-r--r--sys/powerpc/powerpc/machdep.c2
-rw-r--r--sys/powerpc/powerpc/mem.c3
-rw-r--r--sys/powerpc/powerpc/uma_machdep.c2
-rw-r--r--sys/powerpc/ps3/platform_ps3.c3
-rw-r--r--sys/riscv/include/sf_buf.h2
-rw-r--r--sys/riscv/include/vmparam.h3
-rw-r--r--sys/riscv/riscv/mem.c3
-rw-r--r--sys/riscv/riscv/minidump_machdep.c2
-rw-r--r--sys/riscv/riscv/pmap.c72
-rw-r--r--sys/sys/efi.h2
-rw-r--r--sys/sys/sf_buf.h2
-rw-r--r--sys/vm/uma_core.c2
73 files changed, 426 insertions, 449 deletions
diff --git a/sys/amd64/acpica/acpi_wakeup.c b/sys/amd64/acpica/acpi_wakeup.c
index 1200d20f14c2..ace559236de5 100644
--- a/sys/amd64/acpica/acpi_wakeup.c
+++ b/sys/amd64/acpica/acpi_wakeup.c
@@ -344,8 +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] = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(
- wakept_m[i]));
+ wakept_pages[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 203b2b264587..17088f69887d 100644
--- a/sys/amd64/amd64/efirt_machdep.c
+++ b/sys/amd64/amd64/efirt_machdep.c
@@ -95,7 +95,7 @@ efi_destroy_1t1_map(void)
* Map a physical address from EFI runtime space into KVA space. Returns 0 to
* indicate a failed mapping so that the caller may handle error.
*/
-vm_offset_t
+void *
efi_phys_to_kva(vm_paddr_t paddr)
{
@@ -135,7 +135,7 @@ efi_1t1_pte(vm_offset_t va)
} else {
mphys = *pml5e & PG_FRAME;
}
- pml4e = (pml4_entry_t *)PHYS_TO_DMAP(mphys);
+ pml4e = PHYS_TO_DMAP(mphys);
pml4e = &pml4e[pml4_idx];
} else {
pml4e = &efi_pml4[pml4_idx];
@@ -149,7 +149,7 @@ efi_1t1_pte(vm_offset_t va)
mphys = *pml4e & PG_FRAME;
}
- pdpe = (pdp_entry_t *)PHYS_TO_DMAP(mphys);
+ pdpe = PHYS_TO_DMAP(mphys);
pdp_idx = pmap_pdpe_index(va);
pdpe += pdp_idx;
if (*pdpe == 0) {
@@ -160,7 +160,7 @@ efi_1t1_pte(vm_offset_t va)
mphys = *pdpe & PG_FRAME;
}
- pde = (pd_entry_t *)PHYS_TO_DMAP(mphys);
+ pde = PHYS_TO_DMAP(mphys);
pd_idx = pmap_pde_index(va);
pde += pd_idx;
if (*pde == 0) {
@@ -171,7 +171,7 @@ efi_1t1_pte(vm_offset_t va)
mphys = *pde & PG_FRAME;
}
- pte = (pt_entry_t *)PHYS_TO_DMAP(mphys);
+ pte = PHYS_TO_DMAP(mphys);
pte += pmap_pte_index(va);
KASSERT(*pte == 0, ("va %#jx *pt %#jx", va, *pte));
@@ -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 = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_pmltop_page));
+ pml = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_pmltop_page));
if (la57) {
efi_pml5 = pml;
pmap_pinit_pml5(efi_pmltop_page);
diff --git a/sys/amd64/amd64/kexec_support.c b/sys/amd64/amd64/kexec_support.c
index 8189a48e9ae9..e299e9d3661c 100644
--- a/sys/amd64/amd64/kexec_support.c
+++ b/sys/amd64/amd64/kexec_support.c
@@ -88,16 +88,14 @@ kexec_generate_page_tables(pml4_entry_t *root, vm_offset_t start,
mpa = VM_PAGE_TO_PHYS(m);
root[i] = mpa | PG_RW | PG_V;
}
- pdp_entry_t *pdp =
- (pdp_entry_t *)(PHYS_TO_DMAP(root[i] & PG_FRAME));
+ pdp_entry_t *pdp = PHYS_TO_DMAP(root[i] & PG_FRAME);
for (; j < NPDPEPG && pg < start + size; j++, k = 0, l = 0) {
if (pdp[j] == 0) {
m = vm_radix_iter_next(pages);
mpa = VM_PAGE_TO_PHYS(m);
pdp[j] = mpa | PG_RW | PG_V;
}
- pd_entry_t *pde =
- (pd_entry_t *)(PHYS_TO_DMAP(pdp[j] & PG_FRAME));
+ pd_entry_t *pde = PHYS_TO_DMAP(pdp[j] & PG_FRAME);
for (; k < NPDEPG && pg < start + size; k++, l = 0) {
if (pde[k] == 0) {
if (!do_pte) {
@@ -118,7 +116,7 @@ kexec_generate_page_tables(pml4_entry_t *root, vm_offset_t start,
for (; l < NPTEPG && pg < start + size;
l++, pg += PAGE_SIZE) {
pt_entry_t *pte =
- (pt_entry_t *)PHYS_TO_DMAP(pde[pmap_pde_index(pg)] & PG_FRAME);
+ PHYS_TO_DMAP(pde[pmap_pde_index(pg)] & PG_FRAME);
pte[pmap_pte_index(pg)] =
pmap_kextract(pg) | PG_RW | PG_V;
}
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index 21217ebdb9df..e338db372df3 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -1132,7 +1132,7 @@ do_next:
phys_avail[pa_indx] -= round_page(msgbufsize);
/* Map the message buffer. */
- msgbufp = (struct msgbuf *)PHYS_TO_DMAP(phys_avail[pa_indx]);
+ msgbufp = PHYS_TO_DMAP(phys_avail[pa_indx]);
TSEXIT();
}
diff --git a/sys/amd64/amd64/mem.c b/sys/amd64/amd64/mem.c
index 851f2df0e6e1..ab1e6cde6cd5 100644
--- a/sys/amd64/amd64/mem.c
+++ b/sys/amd64/amd64/mem.c
@@ -77,10 +77,10 @@ int
memrw(struct cdev *dev, struct uio *uio, int flags)
{
struct iovec *iov;
- void *p;
+ void *p, *vd;
ssize_t orig_resid;
vm_prot_t prot;
- u_long v, vd;
+ u_long v;
u_int c;
int error;
@@ -145,7 +145,7 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
case CDEV_MINOR_MEM:
if (v < dmaplimit) {
vd = PHYS_TO_DMAP(v);
- error = uiomove((void *)vd, c, uio);
+ error = uiomove(vd, c, uio);
break;
}
if (v > cpu_getmaxphyaddr()) {
diff --git a/sys/amd64/amd64/minidump_machdep.c b/sys/amd64/amd64/minidump_machdep.c
index 43bf81a991bf..41f713faf149 100644
--- a/sys/amd64/amd64/minidump_machdep.c
+++ b/sys/amd64/amd64/minidump_machdep.c
@@ -193,8 +193,8 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
*/
pmapsize += PAGE_SIZE;
ii = pmap_pml4e_index(va);
- pml4 = (uint64_t *)PHYS_TO_DMAP(KPML4phys) + ii;
- pdp = (uint64_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME);
+ pml4 = PHYS_TO_DMAP(KPML4phys);
+ pdp = PHYS_TO_DMAP(pml4[ii] & PG_FRAME);
pdpe = atomic_load_64(&pdp[pmap_pdpe_index(va)]);
if ((pdpe & PG_V) == 0) {
va += NBPDP;
@@ -216,7 +216,7 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
continue;
}
- pd = (uint64_t *)PHYS_TO_DMAP(pdpe & PG_FRAME);
+ pd = PHYS_TO_DMAP(pdpe & PG_FRAME);
for (n = 0; n < NPDEPG; n++, va += NBPDR) {
pde = atomic_load_64(&pd[pmap_pde_index(va)]);
@@ -240,7 +240,7 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
if (vm_phys_is_dumpable(pa))
vm_page_dump_add(state->dump_bitset, pa);
/* and for each valid page in this 2MB block */
- pt = (uint64_t *)PHYS_TO_DMAP(pde & PG_FRAME);
+ pt = PHYS_TO_DMAP(pde & PG_FRAME);
for (k = 0; k < NPTEPG; k++) {
pte = atomic_load_64(&pt[k]);
if ((pte & PG_V) == 0)
@@ -325,8 +325,8 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
bzero(fakepd, sizeof(fakepd));
for (va = kva_layout.km_low; va < kva_end; va += NBPDP) {
ii = pmap_pml4e_index(va);
- pml4 = (uint64_t *)PHYS_TO_DMAP(KPML4phys) + ii;
- pdp = (uint64_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME);
+ pml4 = PHYS_TO_DMAP(KPML4phys);
+ pdp = PHYS_TO_DMAP(pml4[ii] & PG_FRAME);
pdpe = atomic_load_64(&pdp[pmap_pdpe_index(va)]);
/* We always write a page, even if it is zero */
@@ -360,7 +360,7 @@ cpu_minidumpsys(struct dumperinfo *di, const struct minidumpstate *state)
pa = pdpe & PG_FRAME;
if (PHYS_IN_DMAP(pa) && vm_phys_is_dumpable(pa)) {
- pd = (uint64_t *)PHYS_TO_DMAP(pa);
+ pd = PHYS_TO_DMAP(pa);
error = blk_write(di, (char *)pd, 0, PAGE_SIZE);
} else {
/* Malformed pa, write the zeroed fakepd. */
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index eef3c5573e15..172b0b9e544e 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 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pml4));
+ v_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pml4));
} else {
v_pml4 = &kernel_pmap->pm_pmltop[0];
}
m_pdp = pmap_page_alloc_below_4g(true);
- v_pdp = (pdp_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pdp));
+ v_pdp = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pdp));
m_pd[0] = pmap_page_alloc_below_4g(false);
- v_pd = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[0]));
+ v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[1]));
+ v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[2]));
+ v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pd[3]));
+ v_pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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;
@@ -399,7 +399,7 @@ start_all_aps(void)
pmap_invalidate_all(kernel_pmap);
/* copy the AP 1st level boot code */
- bcopy(mptramp_start, (void *)PHYS_TO_DMAP(boot_address), bootMP_size);
+ bcopy(mptramp_start, PHYS_TO_DMAP(boot_address), bootMP_size);
if (bootverbose)
printf("AP boot address %#lx\n", boot_address);
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index e5f21d326cfc..b9ecc230495d 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -1340,7 +1340,7 @@ static pv_entry_t pmap_pvh_remove(struct md_page *pvh, pmap_t pmap,
vm_offset_t va);
static void pmap_abort_ptp(pmap_t pmap, vm_offset_t va, vm_page_t mpte);
-static int pmap_change_props_locked(vm_offset_t va, vm_size_t size,
+static int pmap_change_props_locked(void *addr, vm_size_t size,
vm_prot_t prot, int mode, int flags);
static bool pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va);
static bool pmap_demote_pde_locked(pmap_t pmap, pd_entry_t *pde,
@@ -1465,7 +1465,7 @@ pmap_pml5e_to_pml4e(pml5_entry_t *pml5e, vm_offset_t va)
pml4_entry_t *pml4e;
/* XXX MPASS(pmap_is_la57(pmap); */
- pml4e = (pml4_entry_t *)PHYS_TO_DMAP(*pml5e & PG_FRAME);
+ pml4e = PHYS_TO_DMAP(*pml5e & PG_FRAME);
return (&pml4e[pmap_pml4e_index(va)]);
}
@@ -1482,7 +1482,7 @@ pmap_pml4e(pmap_t pmap, vm_offset_t va)
PG_V = pmap_valid_bit(pmap);
if ((*pml5e & PG_V) == 0)
return (NULL);
- pml4e = (pml4_entry_t *)PHYS_TO_DMAP(*pml5e & PG_FRAME);
+ pml4e = PHYS_TO_DMAP(*pml5e & PG_FRAME);
} else {
pml4e = pmap->pm_pmltop;
}
@@ -1502,7 +1502,7 @@ pmap_pml4e_to_pdpe(pml4_entry_t *pml4e, vm_offset_t va)
{
pdp_entry_t *pdpe;
- pdpe = (pdp_entry_t *)PHYS_TO_DMAP(*pml4e & PG_FRAME);
+ pdpe = PHYS_TO_DMAP(*pml4e & PG_FRAME);
return (&pdpe[pmap_pdpe_index(va)]);
}
@@ -1528,7 +1528,7 @@ pmap_pdpe_to_pde(pdp_entry_t *pdpe, vm_offset_t va)
KASSERT((*pdpe & PG_PS) == 0,
("%s: pdpe %#lx is a leaf", __func__, *pdpe));
- pde = (pd_entry_t *)PHYS_TO_DMAP(*pdpe & PG_FRAME);
+ pde = PHYS_TO_DMAP(*pdpe & PG_FRAME);
return (&pde[pmap_pde_index(va)]);
}
@@ -1556,7 +1556,7 @@ pmap_pde_to_pte(pd_entry_t *pde, vm_offset_t va)
KASSERT((*pde & PG_PS) == 0,
("%s: pde %#lx is a leaf", __func__, *pde));
- pte = (pt_entry_t *)PHYS_TO_DMAP(*pde & PG_FRAME);
+ pte = PHYS_TO_DMAP(*pde & PG_FRAME);
return (&pte[pmap_pte_index(va)]);
}
@@ -2136,11 +2136,11 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
vtopdem = ((1ul << (NPDEPGSHIFT + NPDPEPGSHIFT +
NPML4EPGSHIFT + NPML5EPGSHIFT)) - 1) << 3;
PDmap = (vm_offset_t)P5Dmap;
- kernel_pmap->pm_pmltop = (void *)PHYS_TO_DMAP(KPML5phys);
+ kernel_pmap->pm_pmltop = PHYS_TO_DMAP(KPML5phys);
kernel_pmap->pm_cr3 = KPML5phys;
pmap_pt_page_count_adj(kernel_pmap, 1); /* top-level page */
} else {
- kernel_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(KPML4phys);
+ kernel_pml4 = PHYS_TO_DMAP(KPML4phys);
kernel_pmap->pm_pmltop = kernel_pml4;
kernel_pmap->pm_cr3 = KPML4phys;
}
@@ -2612,7 +2612,7 @@ pmap_init(void)
continue;
/* Make the direct map consistent */
if (ppim->pa < dmaplimit && ppim->pa + ppim->sz <= dmaplimit) {
- (void)pmap_change_attr((void *)PHYS_TO_DMAP(ppim->pa),
+ (void)pmap_change_attr(PHYS_TO_DMAP(ppim->pa),
ppim->sz, ppim->mode);
}
if (!bootverbose)
@@ -3664,7 +3664,7 @@ pmap_invalidate_cache_pages(vm_page_t *pages, int count)
else if (cpu_vendor_id != CPU_VENDOR_INTEL)
mfence();
for (i = 0; i < count; i++) {
- daddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pages[i]));
+ daddr = PHYS_TO_DMAP_ADDR(VM_PAGE_TO_PHYS(pages[i]));
eva = daddr + PAGE_SIZE;
for (; daddr < eva; daddr += cpu_clflush_line_size) {
if (useclflushopt)
@@ -3715,8 +3715,8 @@ pmap_flush_cache_phys_range(vm_paddr_t spa, vm_paddr_t epa, vm_memattr_t mattr)
("pmap_flush_cache_phys_range: epa not page-aligned"));
if (spa < dmaplimit) {
- pmap_flush_cache_range(PHYS_TO_DMAP(spa), PHYS_TO_DMAP(MIN(
- dmaplimit, epa)));
+ pmap_flush_cache_range(PHYS_TO_DMAP_ADDR(spa),
+ PHYS_TO_DMAP_ADDR(MIN(dmaplimit, epa)));
if (dmaplimit >= epa)
return;
spa = dmaplimit;
@@ -3926,7 +3926,7 @@ pmap_kremove(vm_offset_t va)
void *
pmap_map(vm_offset_t *virt, vm_paddr_t start, vm_paddr_t end, int prot)
{
- return ((void *)PHYS_TO_DMAP(start));
+ return (PHYS_TO_DMAP(start));
}
/*
@@ -4233,7 +4233,7 @@ pmap_pinit_pml4(vm_page_t pml4pg)
pml4_entry_t *pm_pml4;
int i;
- pm_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pg));
+ pm_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pml5_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml5pg));
+ pm_pml5 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4pgu));
+ pm_pml4u = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pml5_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml5pgu));
+ pm_pml5u = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml5pgu));
pagezero(pm_pml5u);
/*
@@ -4378,7 +4378,7 @@ pmap_pinit_type(pmap_t pmap, enum pmap_type pm_type, int flags)
pmap_pt_page_count_pinit(pmap, 1);
pmltop_phys = VM_PAGE_TO_PHYS(pmltop_pg);
- pmap->pm_pmltop = (pml5_entry_t *)PHYS_TO_DMAP(pmltop_phys);
+ pmap->pm_pmltop = PHYS_TO_DMAP(pmltop_phys);
if (pmap_pcid_enabled) {
if (pmap->pm_pcidp == NULL)
@@ -4414,7 +4414,7 @@ pmap_pinit_type(pmap_t pmap, enum pmap_type pm_type, int flags)
pmltop_pgu = pmap_alloc_pt_page(NULL, 0,
VM_ALLOC_WIRED | VM_ALLOC_WAITOK);
pmap_pt_page_count_pinit(pmap, 1);
- pmap->pm_pmltopu = (pml4_entry_t *)PHYS_TO_DMAP(
+ pmap->pm_pmltopu = PHYS_TO_DMAP(
VM_PAGE_TO_PHYS(pmltop_pgu));
if (pmap_is_la57(pmap))
pmap_pinit_pml5_pti(pmltop_pgu);
@@ -4489,7 +4489,7 @@ pmap_allocpte_getpml4(pmap_t pmap, struct rwlock **lockp, vm_offset_t va,
} else {
allocated = false;
}
- pml4 = (pml4_entry_t *)PHYS_TO_DMAP(*pml5 & PG_FRAME);
+ pml4 = PHYS_TO_DMAP(*pml5 & PG_FRAME);
pml4 = &pml4[pmap_pml4e_index(va)];
if ((*pml4 & PG_V) == 0) {
pml4pg = PHYS_TO_VM_PAGE(*pml5 & PG_FRAME);
@@ -4530,7 +4530,7 @@ pmap_allocpte_getpdp(pmap_t pmap, struct rwlock **lockp, vm_offset_t va,
} else {
allocated = false;
}
- pdp = (pdp_entry_t *)PHYS_TO_DMAP(*pml4 & PG_FRAME);
+ pdp = PHYS_TO_DMAP(*pml4 & PG_FRAME);
pdp = &pdp[pmap_pdpe_index(va)];
if ((*pdp & PG_V) == 0) {
pdppg = PHYS_TO_VM_PAGE(*pml4 & PG_FRAME);
@@ -4683,7 +4683,7 @@ pmap_allocpte_nosleep(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp,
pdpg = PHYS_TO_VM_PAGE(*pdp & PG_FRAME);
pdpg->ref_count++;
}
- pd = (pd_entry_t *)PHYS_TO_DMAP(*pdp & PG_FRAME);
+ pd = PHYS_TO_DMAP(*pdp & PG_FRAME);
/* Now we know where the page directory page is */
pd = &pd[pmap_pde_index(va)];
@@ -4752,7 +4752,7 @@ retry:
else
return (NULL);
}
- pde = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+ pde = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
pde = &pde[pmap_pde_index(va)];
} else
panic("pmap_alloc_pde: missing page table page for va %#lx",
@@ -4912,24 +4912,24 @@ pmap_kmsan_shadow_map_page_array(vm_paddr_t pdppa, vm_size_t size)
npde = size / NBPDR;
dummypa = vm_phys_early_alloc(-1, PAGE_SIZE);
- pagezero((void *)PHYS_TO_DMAP(dummypa));
+ pagezero(PHYS_TO_DMAP(dummypa));
dummypt = vm_phys_early_alloc(-1, PAGE_SIZE);
- pagezero((void *)PHYS_TO_DMAP(dummypt));
+ pagezero(PHYS_TO_DMAP(dummypt));
dummypd = vm_phys_early_alloc(-1, PAGE_SIZE * npdpg);
for (i = 0; i < npdpg; i++)
- pagezero((void *)PHYS_TO_DMAP(dummypd + ptoa(i)));
+ pagezero(PHYS_TO_DMAP(dummypd + ptoa(i)));
- pte = (pt_entry_t *)PHYS_TO_DMAP(dummypt);
+ pte = PHYS_TO_DMAP(dummypt);
for (i = 0; i < NPTEPG; i++)
pte[i] = (pt_entry_t)(dummypa | X86_PG_V | X86_PG_RW |
X86_PG_A | X86_PG_M | pg_nx);
- pde = (pd_entry_t *)PHYS_TO_DMAP(dummypd);
+ pde = PHYS_TO_DMAP(dummypd);
for (i = 0; i < npde; i++)
pde[i] = (pd_entry_t)(dummypt | X86_PG_V | X86_PG_RW | pg_nx);
- pdpe = (pdp_entry_t *)PHYS_TO_DMAP(pdppa);
+ pdpe = PHYS_TO_DMAP(pdppa);
for (i = 0; i < npdpg; i++)
pdpe[i] = (pdp_entry_t)(dummypd + ptoa(i) | X86_PG_V |
X86_PG_RW | pg_nx);
@@ -4977,7 +4977,7 @@ pmap_page_array_startup(long pages)
if ((*pdpe & X86_PG_V) == 0) {
pa = vm_phys_early_alloc(domain, PAGE_SIZE);
dump_add_page(pa);
- pagezero((void *)PHYS_TO_DMAP(pa));
+ pagezero(PHYS_TO_DMAP(pa));
*pdpe = (pdp_entry_t)(pa | X86_PG_V | X86_PG_RW |
X86_PG_A | X86_PG_M);
}
@@ -5549,7 +5549,7 @@ retry:
PV_STAT(counter_u64_add(pc_chunk_count, 1));
PV_STAT(counter_u64_add(pc_chunk_allocs, 1));
dump_add_page(m->phys_addr);
- pc = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
pc->pc_map[0] = PC_FREEN & ~1ul; /* preallocated bit 0 */
pc->pc_map[1] = PC_FREEN;
@@ -5649,7 +5649,7 @@ retry:
PV_STAT(counter_u64_add(pc_chunk_count, 1));
PV_STAT(counter_u64_add(pc_chunk_allocs, 1));
dump_add_page(m->phys_addr);
- pc = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
pc->pc_map[0] = PC_FREEN;
pc->pc_map[1] = PC_FREEN;
@@ -6035,7 +6035,7 @@ pmap_demote_pde_mpte(pmap_t pmap, pd_entry_t *pde, vm_offset_t va,
}
}
mptepa = VM_PAGE_TO_PHYS(mpte);
- firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
+ firstpte = PHYS_TO_DMAP(mptepa);
newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V;
KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
("pmap_demote_pde: oldpde is missing PG_M"));
@@ -6122,7 +6122,7 @@ pmap_remove_kernel_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
* contains valid mappings. Zero it to invalidate those mappings.
*/
if (vm_page_any_valid(mpte))
- pagezero((void *)PHYS_TO_DMAP(mptepa));
+ pagezero(PHYS_TO_DMAP(mptepa));
/*
* Demote the mapping.
@@ -6851,7 +6851,7 @@ pmap_promote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va, vm_page_t mpte,
* ineligible for promotion due to hardware errata, invalid, or does
* not map the first 4KB physical page within a 2MB page.
*/
- firstpte = (pt_entry_t *)PHYS_TO_DMAP(*pde & PG_FRAME);
+ firstpte = PHYS_TO_DMAP(*pde & PG_FRAME);
newpde = *firstpte;
if (!pmap_allow_2m_x_page(pmap, pmap_pde_ept_executable(pmap, newpde)))
return (false);
@@ -7027,7 +7027,7 @@ restart:
NULL, va);
if (mp == NULL)
goto allocf;
- pdpe = (pdp_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+ pdpe = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+ pde = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
pde = &pde[pmap_pde_index(va)];
origpte = *pde;
MPASS(origpte == 0);
@@ -7411,7 +7411,7 @@ pmap_every_pte_zero(vm_paddr_t pa)
pt_entry_t *pt_end, *pte;
KASSERT((pa & PAGE_MASK) == 0, ("pa is misaligned"));
- pte = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ pte = PHYS_TO_DMAP(pa);
for (pt_end = pte + NPTEPG; pte < pt_end; pte++) {
if (*pte != 0)
return (false);
@@ -7757,7 +7757,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
return (NULL);
}
}
- pte = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+ pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
pte = &pte[pmap_pte_index(va)];
} else {
mpte = NULL;
@@ -8172,7 +8172,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
if (va_next > end_addr)
va_next = end_addr;
- src_pte = (pt_entry_t *)PHYS_TO_DMAP(srcptepaddr);
+ src_pte = PHYS_TO_DMAP(srcptepaddr);
src_pte = &src_pte[pmap_pte_index(addr)];
dstmpte = NULL;
for (; addr < va_next; addr += PAGE_SIZE, src_pte++) {
@@ -8192,8 +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 = (pt_entry_t *)
- PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
+ dst_pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
dst_pte = &dst_pte[pmap_pte_index(addr)];
if (*dst_pte == 0 &&
pmap_try_insert_pv_entry(dst_pmap, addr,
@@ -8256,13 +8255,13 @@ pmap_vmspace_copy(pmap_t dst_pmap, pmap_t src_pmap)
void
pmap_zero_page(vm_page_t m)
{
- vm_offset_t va;
+ void *va;
#ifdef TSLOG_PAGEZERO
TSENTER();
#endif
va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- pagezero((void *)va);
+ pagezero(va);
#ifdef TSLOG_PAGEZERO
TSEXIT();
#endif
@@ -8275,10 +8274,10 @@ pmap_zero_page(vm_page_t m)
void
pmap_zero_page_area(vm_page_t m, int off, int size)
{
- vm_offset_t va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
if (off == 0 && size == PAGE_SIZE)
- pagezero((void *)va);
+ pagezero(va);
else
bzero((char *)va + off, size);
}
@@ -8289,10 +8288,10 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
void
pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
{
- vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
- vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+ void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
+ void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
- pagecopy((void *)src, (void *)dst);
+ pagecopy(src, dst);
}
int unmapped_buf_allowed = 1;
@@ -8555,8 +8554,7 @@ pmap_remove_pages(pmap_t pmap)
if ((tpte & (PG_PS | PG_V)) == PG_V) {
superpage = false;
ptepde = tpte;
- pte = (pt_entry_t *)PHYS_TO_DMAP(tpte &
- PG_FRAME);
+ pte = PHYS_TO_DMAP(tpte & PG_FRAME);
pte = &pte[pmap_pte_index(pv->pv_va)];
tpte = *pte;
} else {
@@ -9396,7 +9394,8 @@ static void *
pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags)
{
struct pmap_preinit_mapping *ppim;
- vm_offset_t va, offset;
+ char *va;
+ vm_offset_t offset;
vm_size_t tmpsize;
int i;
@@ -9405,7 +9404,7 @@ pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags)
pa = trunc_page(pa);
if (!pmap_initialized) {
- va = 0;
+ va = NULL;
for (i = 0; i < PMAP_PREINIT_MAPPING_COUNT; i++) {
ppim = pmap_preinit_mapping + i;
if (ppim->va == 0) {
@@ -9414,11 +9413,11 @@ pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags)
ppim->mode = mode;
ppim->va = virtual_avail;
virtual_avail += size;
- va = ppim->va;
+ va = (void *)ppim->va;
break;
}
}
- if (va == 0)
+ if (va == NULL)
panic("%s: too many preinit mappings", __func__);
} else {
/*
@@ -9429,7 +9428,7 @@ pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags)
if (ppim->pa == pa && ppim->sz == size &&
(ppim->mode == mode ||
(flags & MAPDEV_SETATTR) == 0))
- return ((void *)(ppim->va + offset));
+ return ((char *)ppim->va + offset);
}
/*
* If the specified range of physical addresses fits within
@@ -9445,18 +9444,20 @@ pmap_mapdev_internal(vm_paddr_t pa, vm_size_t size, int mode, int flags)
} else
i = 0;
if (!i)
- return ((void *)(va + offset));
+ return (va + offset);
}
- va = (vm_offset_t)kva_alloc(size);
- if (va == 0)
+ va = kva_alloc(size);
+ if (va == NULL)
panic("%s: Couldn't allocate KVA", __func__);
}
for (tmpsize = 0; tmpsize < size; tmpsize += PAGE_SIZE)
- pmap_kenter_attr(va + tmpsize, pa + tmpsize, mode);
- pmap_invalidate_range(kernel_pmap, va, va + tmpsize);
+ pmap_kenter_attr((vm_offset_t)va + tmpsize, pa + tmpsize, mode);
+ pmap_invalidate_range(kernel_pmap, (vm_offset_t)va,
+ (vm_offset_t)va + tmpsize);
if ((flags & MAPDEV_FLUSHCACHE) != 0)
- pmap_invalidate_cache_range(va, va + tmpsize);
- return ((void *)(va + offset));
+ pmap_invalidate_cache_range((vm_offset_t)va,
+ (vm_offset_t)va + tmpsize);
+ return (va + offset);
}
void *
@@ -9561,7 +9562,7 @@ pmap_demote_pdpe(pmap_t pmap, pdp_entry_t *pdpe, vm_offset_t va, vm_page_t m)
pmap_pt_page_count_adj(pmap, 1);
}
pdpgpa = VM_PAGE_TO_PHYS(pdpg);
- firstpde = (pd_entry_t *)PHYS_TO_DMAP(pdpgpa);
+ firstpde = PHYS_TO_DMAP(pdpgpa);
newpdpe = pdpgpa | PG_M | PG_A | (oldpdpe & PG_U) | PG_RW | PG_V;
KASSERT((oldpdpe & PG_A) != 0,
("pmap_demote_pdpe: oldpdpe is missing PG_A"));
@@ -9610,7 +9611,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((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
+ pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
m->md.pat_mode))
panic("memory attribute change on the direct map failed");
}
@@ -9660,7 +9661,7 @@ pmap_change_attr(void *va, vm_size_t size, int mode)
int error;
PMAP_LOCK(kernel_pmap);
- error = pmap_change_props_locked((vm_offset_t)va, size, PROT_NONE, mode,
+ error = pmap_change_props_locked(va, size, PROT_NONE, mode,
MAPDEV_FLUSHCACHE);
PMAP_UNLOCK(kernel_pmap);
return (error);
@@ -9683,17 +9684,17 @@ pmap_change_prot(void *va, vm_size_t size, vm_prot_t prot)
return (EINVAL);
PMAP_LOCK(kernel_pmap);
- error = pmap_change_props_locked((vm_offset_t)va, size, prot, -1,
+ error = pmap_change_props_locked(va, size, prot, -1,
MAPDEV_ASSERTVALID);
PMAP_UNLOCK(kernel_pmap);
return (error);
}
static int
-pmap_change_props_locked(vm_offset_t va, vm_size_t size, vm_prot_t prot,
+pmap_change_props_locked(void *addr, vm_size_t size, vm_prot_t prot,
int mode, int flags)
{
- vm_offset_t base, offset, tmpva;
+ vm_offset_t base, offset, tmpva, va;
vm_paddr_t pa_start, pa_end, pa_end1;
pdp_entry_t *pdpe;
pd_entry_t *pde, pde_bits, pde_mask;
@@ -9701,6 +9702,7 @@ pmap_change_props_locked(vm_offset_t va, vm_size_t size, vm_prot_t prot,
int error;
bool changed;
+ va = (vm_offset_t)addr;
PMAP_LOCK_ASSERT(kernel_pmap, MA_OWNED);
base = trunc_page(va);
offset = va & PAGE_MASK;
@@ -9956,7 +9958,7 @@ pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, bool invalidate)
WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, NULL, "pmap_demote_DMAP");
if (len < NBPDP && base < dmaplimit) {
- va = PHYS_TO_DMAP(base);
+ va = PHYS_TO_DMAP_ADDR(base);
changed = false;
/*
@@ -10517,7 +10519,7 @@ pmap_map_io_transient(vm_page_t page[], void *vaddr[], int count,
vaddr[i] = (void *)addr;
needs_mapping = true;
} else {
- vaddr[i] = (void *)PHYS_TO_DMAP(paddr);
+ vaddr[i] = PHYS_TO_DMAP(paddr);
}
}
@@ -10584,7 +10586,7 @@ pmap_quick_enter_page(vm_page_t m)
paddr = VM_PAGE_TO_PHYS(m);
if (paddr < dmaplimit)
- return ((void *)PHYS_TO_DMAP(paddr));
+ return (PHYS_TO_DMAP(paddr));
mtx_lock_spin(&qframe_mtx);
KASSERT(*vtopte(qframe) == 0, ("qframe busy"));
@@ -10779,9 +10781,8 @@ pmap_large_map(vm_paddr_t spa, vm_size_t len, void **addr,
/* See if DMAP can serve. */
if (spa + len <= dmaplimit) {
- va = PHYS_TO_DMAP(spa);
- *addr = (void *)va;
- return (pmap_change_attr((void *)va, len, mattr));
+ *addr = PHYS_TO_DMAP(spa);
+ return (pmap_change_attr(*addr, len, mattr));
}
/*
@@ -11147,7 +11148,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 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pml4_pg));
+ pti_pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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);
@@ -11282,7 +11283,7 @@ pmap_pti_pde(vm_offset_t va)
mphys = *pdpe & ~PAGE_MASK;
}
- pde = (pd_entry_t *)PHYS_TO_DMAP(mphys);
+ pde = PHYS_TO_DMAP(mphys);
pd_idx = pmap_pde_index(va);
pde += pd_idx;
return (pde);
@@ -11320,7 +11321,7 @@ pmap_pti_pte(vm_offset_t va, bool *unwire_pde)
mphys = *pde & ~(PAGE_MASK | pg_nx);
}
- pte = (pt_entry_t *)PHYS_TO_DMAP(mphys);
+ pte = PHYS_TO_DMAP(mphys);
pte += pmap_pte_index(va);
return (pte);
@@ -12100,7 +12101,7 @@ restart:
continue;
}
pa = pml4e & PG_FRAME;
- pdp = (pdp_entry_t *)PHYS_TO_DMAP(pa);
+ pdp = PHYS_TO_DMAP(pa);
for (j = pmap_pdpe_index(sva); j < NPDPEPG; j++) {
pdpe = pdp[j];
@@ -12129,7 +12130,7 @@ restart:
sva += NBPDP;
goto restart;
}
- pd = (pd_entry_t *)PHYS_TO_DMAP(pa);
+ pd = PHYS_TO_DMAP(pa);
for (k = pmap_pde_index(sva); k < NPDEPG; k++) {
pde = pd[k];
@@ -12158,7 +12159,7 @@ restart:
sva += NBPDR;
goto restart;
}
- pt = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ pt = PHYS_TO_DMAP(pa);
for (l = pmap_pte_index(sva); l < NPTEPG; l++,
sva += PAGE_SIZE) {
@@ -12248,7 +12249,7 @@ DB_SHOW_COMMAND(phys2dmap, pmap_phys2dmap)
if (have_addr) {
a = (vm_paddr_t)addr;
- db_printf("0x%jx\n", (uintmax_t)PHYS_TO_DMAP(a));
+ db_printf("%p\n", PHYS_TO_DMAP(a));
} else {
db_printf("show phys2dmap addr\n");
}
@@ -12276,7 +12277,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
pd_entry_t *pd;
int i4, i3, i2;
- pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg4));
+ pml4 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg4));
for (i4 = 0; i4 < num_entries; i4++) {
if ((pml4[i4] & PG_V) == 0)
continue;
@@ -12286,7 +12287,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
continue;
}
ptpages_show_page(3, i4, pg3);
- pdp = (pdp_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg3));
+ pdp = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg3));
for (i3 = 0; i3 < NPDPEPG; i3++) {
if ((pdp[i3] & PG_V) == 0)
continue;
@@ -12296,7 +12297,7 @@ ptpages_show_pml4(vm_page_t pg4, int num_entries, uint64_t PG_V)
continue;
}
ptpages_show_page(2, i3, pg2);
- pd = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pg2));
+ pd = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 e5e23d47ae91..18f4b67a5a35 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 ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
}
static inline vm_page_t
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index ed17922642c0..2914a204b2ef 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -253,11 +253,12 @@
_va < kva_layout.dmap_low + dmaplimit); })
#define PMAP_HAS_DMAP 1
-#define PHYS_TO_DMAP(x) __extension__ ({ \
+#define PHYS_TO_DMAP_ADDR(x) __extension__ ({ \
KASSERT(PHYS_IN_DMAP(x), \
("physical address %#jx not covered by the DMAP", \
(uintmax_t)x)); \
(x) + kva_layout.dmap_low; })
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(x) __extension__ ({ \
uintptr_t _x = (uintptr_t)(x); \
diff --git a/sys/amd64/vmm/amd/amdvi_hw.c b/sys/amd64/vmm/amd/amdvi_hw.c
index 4dd0339654a9..495ccfeb4cbe 100644
--- a/sys/amd64/vmm/amd/amdvi_hw.c
+++ b/sys/amd64/vmm/amd/amdvi_hw.c
@@ -649,7 +649,7 @@ amdvi_decode_evt(struct amdvi_event *evt)
case AMDVI_EVENT_CMD_HW_ERROR:
printf("\t[%s EVT]\n", (evt->opcode == AMDVI_EVENT_ILLEGAL_CMD) ?
"ILLEGAL CMD" : "CMD HW ERR");
- cmd = (struct amdvi_cmd *)PHYS_TO_DMAP(evt->addr);
+ cmd = PHYS_TO_DMAP(evt->addr);
printf("\tCMD opcode= 0x%x 0x%x 0x%x 0x%lx\n",
cmd->opcode, cmd->word0, cmd->word1, cmd->addr);
break;
@@ -1036,8 +1036,7 @@ amdvi_free_ptp(uint64_t *ptp, int level)
continue;
#endif
- amdvi_free_ptp((uint64_t *)PHYS_TO_DMAP(ptp[i]
- & AMDVI_PT_MASK), level - 1);
+ amdvi_free_ptp(PHYS_TO_DMAP(ptp[i] & AMDVI_PT_MASK), level - 1);
}
free(ptp, M_AMDVI);
@@ -1098,7 +1097,7 @@ amdvi_set_pt(uint64_t *pt, int level, vm_paddr_t gpa,
#endif
#define PTE2PA(x) ((uint64_t)(x) & AMDVI_PT_MASK)
pa = PTE2PA(pt[index]);
- pt = (uint64_t *)PHYS_TO_DMAP(pa);
+ pt = PHYS_TO_DMAP(pa);
shift -= PT_SHIFT;
level--;
}
diff --git a/sys/amd64/vmm/amd/ivrs_drv.c b/sys/amd64/vmm/amd/ivrs_drv.c
index c75e0fcc2d68..85171a5d51be 100644
--- a/sys/amd64/vmm/amd/ivrs_drv.c
+++ b/sys/amd64/vmm/amd/ivrs_drv.c
@@ -680,7 +680,7 @@ ivhd_attach(device_t dev)
break;
}
- softc->ctrl = (struct amdvi_ctrl *) PHYS_TO_DMAP(ivhd->BaseAddress);
+ softc->ctrl = PHYS_TO_DMAP(ivhd->BaseAddress);
status = ivhd_dev_parse(ivhd, softc);
if (status != 0) {
device_printf(dev,
diff --git a/sys/amd64/vmm/intel/ept.c b/sys/amd64/vmm/intel/ept.c
index 5432c7da5df7..8b050b29bd1e 100644
--- a/sys/amd64/vmm/intel/ept.c
+++ b/sys/amd64/vmm/intel/ept.c
@@ -143,8 +143,7 @@ ept_dump(uint64_t *ptp, int nlevels)
printf("%3d 0x%016lx\n", i, ptpval);
if (nlevels != 0 && (ptpval & EPT_PG_SUPERPAGE) == 0) {
- ptpnext = (uint64_t *)
- PHYS_TO_DMAP(ptpval & EPT_ADDR_MASK);
+ ptpnext = PHYS_TO_DMAP(ptpval & EPT_ADDR_MASK);
ept_dump(ptpnext, nlevels);
}
}
diff --git a/sys/amd64/vmm/intel/vtd.c b/sys/amd64/vmm/intel/vtd.c
index b56541290a9d..35c1a9fdfdab 100644
--- a/sys/amd64/vmm/intel/vtd.c
+++ b/sys/amd64/vmm/intel/vtd.c
@@ -324,7 +324,7 @@ vtd_init(void)
snprintf(envname, sizeof(envname), "vtd.regmap.%d.addr", units);
if (getenv_ulong(envname, &mapaddr) == 0)
break;
- vtdmaps[units] = (struct vtdmap *)PHYS_TO_DMAP(mapaddr);
+ vtdmaps[units] = PHYS_TO_DMAP(mapaddr);
}
if (units > 0)
@@ -353,7 +353,7 @@ vtd_init(void)
drhd = (ACPI_DMAR_HARDWARE_UNIT *)hdr;
drhds[units] = drhd;
- vtdmaps[units] = (struct vtdmap *)PHYS_TO_DMAP(drhd->Address);
+ vtdmaps[units] = PHYS_TO_DMAP(drhd->Address);
if (++units >= DRHD_MAX_UNITS)
break;
remaining -= hdr->Length;
@@ -581,7 +581,7 @@ vtd_update_mapping(void *arg, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len,
ptp[ptpindex] = vtophys(nlp)| VTD_PTE_RD | VTD_PTE_WR;
}
- ptp = (uint64_t *)PHYS_TO_DMAP(ptp[ptpindex] & VTD_PTE_ADDR_M);
+ ptp = PHYS_TO_DMAP(ptp[ptpindex] & VTD_PTE_ADDR_M);
}
if ((gpa & ((1UL << ptpshift) - 1)) != 0)
@@ -743,7 +743,7 @@ vtd_free_ptp(uint64_t *ptp, int level)
continue;
if ((ptp[i] & VTD_PTE_SUPERPAGE) != 0)
continue;
- nlp = (uint64_t *)PHYS_TO_DMAP(ptp[i] & VTD_PTE_ADDR_M);
+ nlp = PHYS_TO_DMAP(ptp[i] & VTD_PTE_ADDR_M);
vtd_free_ptp(nlp, level - 1);
}
}
diff --git a/sys/arm/include/vmparam.h b/sys/arm/include/vmparam.h
index 03145d7e322a..712b9124b795 100644
--- a/sys/arm/include/vmparam.h
+++ b/sys/arm/include/vmparam.h
@@ -183,7 +183,8 @@ extern vm_offset_t vm_max_kernel_address;
#define SFBUF_MAP
#define PMAP_HAS_DMAP 0
-#define PHYS_TO_DMAP(x) ({ panic("No direct map exists"); 0; })
+#define PHYS_TO_DMAP_ADDR(x) ({ panic("No direct map exists"); 0; })
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(x) ({ panic("No direct map exists"); 0; })
#define DEVMAP_MAX_VADDR ARM_VECTORS_HIGH
diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c
index bde0d4f784dc..c8d23199583e 100644
--- a/sys/arm64/arm64/efirt_machdep.c
+++ b/sys/arm64/arm64/efirt_machdep.c
@@ -112,7 +112,7 @@ efi_1t1_l3(vm_offset_t va)
mphys = PTE_TO_PHYS(*l0);
}
- l1 = (pd_entry_t *)PHYS_TO_DMAP(mphys);
+ l1 = PHYS_TO_DMAP(mphys);
l1_idx = pmap_l1_index(va);
l1 += l1_idx;
if (*l1 == 0) {
@@ -124,7 +124,7 @@ efi_1t1_l3(vm_offset_t va)
mphys = PTE_TO_PHYS(*l1);
}
- l2 = (pd_entry_t *)PHYS_TO_DMAP(mphys);
+ l2 = PHYS_TO_DMAP(mphys);
l2_idx = pmap_l2_index(va);
l2 += l2_idx;
if (*l2 == 0) {
@@ -136,7 +136,7 @@ efi_1t1_l3(vm_offset_t va)
mphys = PTE_TO_PHYS(*l2);
}
- l3 = (pt_entry_t *)PHYS_TO_DMAP(mphys);
+ l3 = PHYS_TO_DMAP(mphys);
l3 += pmap_l3_index(va);
KASSERT(*l3 == 0, ("%s: Already mapped: va %#jx *pt %#jx", __func__,
va, *l3));
@@ -148,7 +148,7 @@ efi_1t1_l3(vm_offset_t va)
* Map a physical address from EFI runtime space into KVA space. Returns 0 to
* indicate a failed mapping so that the caller may handle error.
*/
-vm_offset_t
+void *
efi_phys_to_kva(vm_paddr_t paddr)
{
if (PHYS_IN_DMAP(paddr))
@@ -156,7 +156,7 @@ efi_phys_to_kva(vm_paddr_t paddr)
/* TODO: Map memory not in the DMAP */
- return (0);
+ return (NULL);
}
/*
@@ -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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(efi_l0_page));
+ efi_l0 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c
index 06491f6ffe05..42f0fdb2697d 100644
--- a/sys/arm64/arm64/gicv3_its.c
+++ b/sys/arm64/arm64/gicv3_its.c
@@ -735,7 +735,6 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc)
device_t gicv3;
uint32_t ctlr;
vm_paddr_t conf_pa;
- vm_offset_t conf_va;
/*
* The PROPBASER is a singleton in our parent. We only set it up the
@@ -767,15 +766,14 @@ gicv3_its_conftable_init(struct gicv3_its_softc *sc)
if (!physmem_excluded(conf_pa, LPI_CONFTAB_SIZE))
panic("gicv3 PROPBASER needs to reuse %#lx, but not reserved",
conf_pa);
- conf_va = PHYS_TO_DMAP(conf_pa);
- if (!pmap_klookup(conf_va, NULL))
+ conf_table = PHYS_TO_DMAP(conf_pa);
+ if (!pmap_klookup((vm_offset_t)conf_table, NULL))
panic("Cannot map prior LPI mapping into KVA");
- conf_table = (void *)conf_va;
extra_flags = ITS_FLAGS_LPI_PREALLOC | ITS_FLAGS_LPI_CONF_FLUSH;
if (bootverbose)
device_printf(sc->dev,
- "LPI enabled, conf table using pa %#lx va %lx\n",
- conf_pa, conf_va);
+ "LPI enabled, conf table using pa %#lx va %p\n",
+ conf_pa, conf_table);
} else {
/*
* Otherwise just allocate contiguous pages. We'll configure the
@@ -918,7 +916,7 @@ its_init_cpu_lpi(device_t dev, struct gicv3_its_softc *sc)
if (!physmem_excluded(tmp, LPI_PENDTAB_SIZE))
panic("gicv3 PENDBASER on cpu %d needs to reuse 0x%#lx, but not reserved\n",
cpuid, tmp);
- sc->sc_pend_base[cpuid] = (void *)PHYS_TO_DMAP(tmp);
+ sc->sc_pend_base[cpuid] = PHYS_TO_DMAP(tmp);
}
diff --git a/sys/arm64/arm64/kexec_support.c b/sys/arm64/arm64/kexec_support.c
index 8b9719c05b67..7ca6bf659d91 100644
--- a/sys/arm64/arm64/kexec_support.c
+++ b/sys/arm64/arm64/kexec_support.c
@@ -140,7 +140,7 @@ kexec_reboot_md(struct kexec_image *image)
for (int i = 0; i < KEXEC_SEGMENT_MAX; i++) {
if (image->segments[i].size > 0)
- cpu_dcache_inv_range((void *)PHYS_TO_DMAP(image->segments[i].target),
+ cpu_dcache_inv_range(PHYS_TO_DMAP(image->segments[i].target),
image->segments[i].size);
}
ptr = pmap_kextract((vm_offset_t)kexec_reboot_bottom);
diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c
index 2ef5a32d7d54..adfb509d4924 100644
--- a/sys/arm64/arm64/machdep.c
+++ b/sys/arm64/arm64/machdep.c
@@ -484,7 +484,7 @@ arm64_get_writable_addr(void *addr, void **out)
* If it is within the DMAP region and is writable use that.
*/
if (PHYS_IN_DMAP_RANGE(pa)) {
- addr = (void *)PHYS_TO_DMAP(pa);
+ addr = PHYS_TO_DMAP(pa);
if (PAR_SUCCESS(arm64_address_translate_s1e1w(
(vm_offset_t)addr))) {
*out = addr;
@@ -534,7 +534,7 @@ efi_early_map(vm_offset_t va)
efi_map_foreach_entry(efihdr, efi_early_map_entry, &emd);
if (emd.pa == 0)
return NULL;
- return (void *)PHYS_TO_DMAP(emd.pa);
+ return PHYS_TO_DMAP(emd.pa);
}
@@ -552,7 +552,7 @@ exclude_efi_memreserve(vm_paddr_t efi_systbl_phys)
struct efi_systbl *systbl;
efi_guid_t efi_memreserve = LINUX_EFI_MEMRESERVE_TABLE;
- systbl = (struct efi_systbl *)PHYS_TO_DMAP(efi_systbl_phys);
+ systbl = PHYS_TO_DMAP(efi_systbl_phys);
if (systbl == NULL) {
printf("can't map systbl\n");
return;
@@ -588,8 +588,7 @@ exclude_efi_memreserve(vm_paddr_t efi_systbl_phys)
* after a SetVirtualAddressMap(). The list's mr_next pointer
* is also a PA.
*/
- mr = (struct linux_efi_memreserve *)PHYS_TO_DMAP(
- (vm_offset_t)cfgtbl->ct_data);
+ mr = PHYS_TO_DMAP((vm_offset_t)cfgtbl->ct_data);
while (true) {
for (int j = 0; j < mr->mr_count; j++) {
struct linux_efi_memreserve_entry *mre;
@@ -600,7 +599,7 @@ exclude_efi_memreserve(vm_paddr_t efi_systbl_phys)
}
if (mr->mr_next == 0)
break;
- mr = (struct linux_efi_memreserve *)PHYS_TO_DMAP(mr->mr_next);
+ mr = PHYS_TO_DMAP(mr->mr_next);
};
}
diff --git a/sys/arm64/arm64/mem.c b/sys/arm64/arm64/mem.c
index 2a998ca1f845..16f8a8071799 100644
--- a/sys/arm64/arm64/mem.c
+++ b/sys/arm64/arm64/mem.c
@@ -104,8 +104,7 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
case CDEV_MINOR_MEM:
/* If within the DMAP use this to copy from */
if (PHYS_IN_DMAP(v)) {
- v = PHYS_TO_DMAP(v);
- error = uiomove((void *)v, cnt, uio);
+ error = uiomove(PHYS_TO_DMAP(v), cnt, uio);
break;
}
diff --git a/sys/arm64/arm64/minidump_machdep.c b/sys/arm64/arm64/minidump_machdep.c
index 749c96545506..9ee48e23c604 100644
--- a/sys/arm64/arm64/minidump_machdep.c
+++ b/sys/arm64/arm64/minidump_machdep.c
@@ -125,7 +125,7 @@ blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz)
ptr += len;
sz -= len;
} else {
- dump_va = (void *)PHYS_TO_DMAP(pa);
+ dump_va = PHYS_TO_DMAP(pa);
fragsz += len;
pa += len;
sz -= len;
diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 8b41c4f48fb8..0ce4435e481d 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -479,7 +479,7 @@ static pv_entry_t pmap_pvh_remove(struct md_page *pvh, pmap_t pmap,
static void pmap_abort_ptp(pmap_t pmap, vm_offset_t va, vm_page_t mpte);
static bool pmap_activate_int(struct thread *td, pmap_t pmap);
static void pmap_alloc_asid(pmap_t pmap);
-static int pmap_change_props_locked(vm_offset_t va, vm_size_t size,
+static int pmap_change_props_locked(void *addr, vm_size_t size,
vm_prot_t prot, int mode, bool skip_unmapped);
static bool pmap_copy_l3c(pmap_t pmap, pt_entry_t *l3p, vm_offset_t va,
pt_entry_t l3e, vm_page_t ml3, struct rwlock **lockp);
@@ -573,7 +573,7 @@ pmap_l0_to_l1(pd_entry_t *l0, vm_offset_t va)
{
pd_entry_t *l1;
- l1 = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l0)));
+ l1 = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l0)));
return (&l1[pmap_l1_index(va)]);
}
@@ -606,7 +606,7 @@ pmap_l1_to_l2(pd_entry_t *l1p, vm_offset_t va)
("%s: L1 entry %#lx for %#lx is invalid", __func__, l1, va));
KASSERT((l1 & ATTR_DESCR_TYPE_MASK) == ATTR_DESCR_TYPE_TABLE,
("%s: L1 entry %#lx for %#lx is a leaf", __func__, l1, va));
- l2p = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(l1));
+ l2p = PHYS_TO_DMAP(PTE_TO_PHYS(l1));
return (&l2p[pmap_l2_index(va)]);
}
@@ -640,7 +640,7 @@ pmap_l2_to_l3(pd_entry_t *l2p, vm_offset_t va)
("%s: L2 entry %#lx for %#lx is invalid", __func__, l2, va));
KASSERT((l2 & ATTR_DESCR_TYPE_MASK) == ATTR_DESCR_TYPE_TABLE,
("%s: L2 entry %#lx for %#lx is a leaf", __func__, l2, va));
- l3p = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(l2));
+ l3p = PHYS_TO_DMAP(PTE_TO_PHYS(l2));
return (&l3p[pmap_l3_index(va)]);
}
@@ -1026,7 +1026,7 @@ pmap_bootstrap_l0_table(struct pmap_bootstrap_state *state)
if ((l0e & ATTR_DESCR_VALID) != 0) {
MPASS((l0e & ATTR_DESCR_MASK) == L0_TABLE);
l1_pa = PTE_TO_PHYS(l0e);
- state->l1 = (pt_entry_t *)PHYS_TO_DMAP(l1_pa);
+ state->l1 = PHYS_TO_DMAP(l1_pa);
return;
}
}
@@ -1074,7 +1074,7 @@ pmap_bootstrap_l1_table(struct pmap_bootstrap_state *state)
if ((l1e & ATTR_DESCR_VALID) != 0) {
MPASS((l1e & ATTR_DESCR_MASK) == L1_TABLE);
l2_pa = PTE_TO_PHYS(l1e);
- state->l2 = (pt_entry_t *)PHYS_TO_DMAP(l2_pa);
+ state->l2 = PHYS_TO_DMAP(l2_pa);
return;
}
}
@@ -1118,7 +1118,7 @@ pmap_bootstrap_l2_table(struct pmap_bootstrap_state *state)
if ((l2e & ATTR_DESCR_VALID) != 0) {
MPASS((l2e & ATTR_DESCR_MASK) == L2_TABLE);
l3_pa = PTE_TO_PHYS(l2e);
- state->l3 = (pt_entry_t *)PHYS_TO_DMAP(l3_pa);
+ state->l3 = PHYS_TO_DMAP(l3_pa);
return;
}
}
@@ -1404,7 +1404,7 @@ pmap_bootstrap(void)
for (int i = 0; i < physmap_idx; i += 2) {
if ((physmap[i + 1] - physmap[i]) > largest_phys_size) {
largest_phys_size = physmap[i + 1] - physmap[i];
- bs_state.freemempos = PHYS_TO_DMAP(physmap[i]);
+ bs_state.freemempos = PHYS_TO_DMAP_ADDR(physmap[i]);
}
}
@@ -1475,7 +1475,7 @@ pmap_bootstrap_allocate_san_l2(vm_paddr_t start_pa, vm_paddr_t end_pa,
continue;
}
- bzero_early((void *)PHYS_TO_DMAP(pa), L2_SIZE);
+ bzero_early(PHYS_TO_DMAP(pa), L2_SIZE);
physmem_exclude_region(pa, L2_SIZE, EXFLAG_NOALLOC);
pmap_store(l2, PHYS_TO_PTE(pa) | PMAP_SAN_PTE_BITS | L2_BLOCK);
}
@@ -2221,11 +2221,12 @@ pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
* Returns true if the entire kernel virtual address range is mapped
*/
static bool
-pmap_kmapped_range(vm_offset_t sva, vm_size_t size)
+pmap_kmapped_range(void *va, vm_size_t size)
{
pt_entry_t *pte, tpte;
- vm_offset_t eva;
+ vm_offset_t eva, sva;
+ sva = (vm_offset_t)va;
KASSERT(sva >= VM_MIN_KERNEL_ADDRESS,
("%s: Invalid virtual address: %lx", __func__, sva));
MPASS(size != 0);
@@ -2562,7 +2563,7 @@ pmap_kremove_device(vm_offset_t sva, vm_size_t size)
void *
pmap_map(vm_offset_t *virt, vm_paddr_t start, vm_paddr_t end, int prot)
{
- return ((void *)PHYS_TO_DMAP(start));
+ return (PHYS_TO_DMAP(start));
}
/*
@@ -2773,7 +2774,7 @@ pmap_pinit0(pmap_t pmap)
PMAP_LOCK_INIT(pmap);
bzero(&pmap->pm_stats, sizeof(pmap->pm_stats));
pmap->pm_l0_paddr = READ_SPECIALREG(ttbr0_el1);
- pmap->pm_l0 = (pd_entry_t *)PHYS_TO_DMAP(pmap->pm_l0_paddr);
+ pmap->pm_l0 = PHYS_TO_DMAP(pmap->pm_l0_paddr);
TAILQ_INIT(&pmap->pm_pvchunk);
vm_radix_init(&pmap->pm_root);
pmap->pm_cookie = COOKIE_FROM(ASID_RESERVED_FOR_PID_0, INT_MIN);
@@ -2797,7 +2798,7 @@ pmap_pinit_stage(pmap_t pmap, enum pmap_stage stage, int levels)
m = vm_page_alloc_noobj(VM_ALLOC_WAITOK | VM_ALLOC_WIRED |
VM_ALLOC_ZERO);
pmap->pm_l0_paddr = VM_PAGE_TO_PHYS(m);
- pmap->pm_l0 = (pd_entry_t *)PHYS_TO_DMAP(pmap->pm_l0_paddr);
+ pmap->pm_l0 = PHYS_TO_DMAP(pmap->pm_l0_paddr);
TAILQ_INIT(&pmap->pm_pvchunk);
vm_radix_init(&pmap->pm_root);
@@ -2947,7 +2948,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
l1pg->ref_count++;
}
- l1 = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l0)));
+ l1 = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l0)));
l1 = &l1[ptepindex & Ln_ADDR_MASK];
KASSERT((pmap_load(l1) & ATTR_DESCR_VALID) == 0,
("%s: L1 entry %#lx is valid", __func__, pmap_load(l1)));
@@ -2971,10 +2972,10 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
return (NULL);
}
tl0 = pmap_load(l0);
- l1 = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(tl0));
+ l1 = PHYS_TO_DMAP(PTE_TO_PHYS(tl0));
l1 = &l1[l1index & Ln_ADDR_MASK];
} else {
- l1 = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(tl0));
+ l1 = PHYS_TO_DMAP(PTE_TO_PHYS(tl0));
l1 = &l1[l1index & Ln_ADDR_MASK];
tl1 = pmap_load(l1);
if (tl1 == 0) {
@@ -2991,7 +2992,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
}
}
- l2 = (pd_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l1)));
+ l2 = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l1)));
l2 = &l2[ptepindex & Ln_ADDR_MASK];
KASSERT((pmap_load(l2) & ATTR_DESCR_VALID) == 0,
("%s: L2 entry %#lx is valid", __func__, pmap_load(l2)));
@@ -3034,7 +3035,7 @@ retry:
else
return (NULL);
}
- l2 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(l2pg));
+ l2 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(l2pg));
l2 = &l2[pmap_l2_index(va)];
} else
panic("pmap_alloc_l2: missing page table page for va %#lx",
@@ -3659,7 +3660,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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
memcpy(pc->pc_map, pc_freemask, sizeof(pc_freemask));
pc->pc_map[0] &= ~1ul; /* preallocated bit 0 */
@@ -3723,7 +3724,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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
memcpy(pc->pc_map, pc_freemask, sizeof(pc_freemask));
TAILQ_INSERT_HEAD(&pmap->pm_pvchunk, pc, pc_list);
@@ -3961,7 +3962,7 @@ pmap_remove_kernel_l2(pmap_t pmap, pt_entry_t *l2, vm_offset_t va)
* contains valid mappings. Zero it to invalidate those mappings.
*/
if (vm_page_any_valid(ml3))
- pagezero((void *)PHYS_TO_DMAP(ml3pa));
+ pagezero(PHYS_TO_DMAP(ml3pa));
/*
* Demote the mapping. The caller must have already invalidated the
@@ -4994,7 +4995,7 @@ pmap_promote_l2(pmap_t pmap, pd_entry_t *l2, vm_offset_t va, vm_page_t mpte,
* Examine the first L3E in the specified PTP. Abort if this L3E is
* ineligible for promotion...
*/
- firstl3 = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l2)));
+ firstl3 = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l2)));
newl2 = pmap_load(firstl3);
if ((newl2 & ATTR_SW_NO_PROMOTE) != 0)
return (false);
@@ -5308,7 +5309,7 @@ restart:
PMAP_LOCK(pmap);
goto restart;
}
- l2p = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+ l2p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
l2p = &l2p[pmap_l2_index(va)];
origpte = pmap_load(l2p);
} else {
@@ -5340,7 +5341,7 @@ restart:
goto restart;
}
mp->ref_count += L3C_ENTRIES - 1;
- l3p = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
+ l3p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mp));
l3p = &l3p[pmap_l3_index(va)];
} else {
l3p = pmap_l2_to_l3(l2p, va);
@@ -5665,11 +5666,10 @@ validate:
m->md.pv_memattr == VM_MEMATTR_WRITE_BACK &&
(opa != pa || (orig_l3 & ATTR_S1_XN))) {
PMAP_ASSERT_STAGE1(pmap);
- cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa),
- PAGE_SIZE);
+ cpu_icache_sync_range(PHYS_TO_DMAP(pa), PAGE_SIZE);
}
} else {
- cpu_dcache_wb_range((void *)PHYS_TO_DMAP(pa), PAGE_SIZE);
+ cpu_dcache_wb_range(PHYS_TO_DMAP(pa), PAGE_SIZE);
}
/*
@@ -5780,7 +5780,7 @@ pmap_every_pte_zero(vm_paddr_t pa)
pt_entry_t *pt_end, *pte;
KASSERT((pa & PAGE_MASK) == 0, ("pa is misaligned"));
- pte = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ pte = PHYS_TO_DMAP(pa);
for (pt_end = pte + Ln_ENTRIES; pte < pt_end; pte++) {
if (*pte != 0)
return (false);
@@ -5976,7 +5976,7 @@ pmap_enter_l2(pmap_t pmap, vm_offset_t va, pd_entry_t new_l2, u_int flags,
if ((new_l2 & ATTR_S1_XN) == 0 && (PTE_TO_PHYS(new_l2) !=
PTE_TO_PHYS(old_l2) || (old_l2 & ATTR_S1_XN) != 0) &&
pmap != kernel_pmap && m->md.pv_memattr == VM_MEMATTR_WRITE_BACK) {
- cpu_icache_sync_range((void *)PHYS_TO_DMAP(PTE_TO_PHYS(new_l2)),
+ cpu_icache_sync_range(PHYS_TO_DMAP(PTE_TO_PHYS(new_l2)),
L2_SIZE);
}
@@ -6112,7 +6112,7 @@ retry:
(*ml3p)->ref_count += L3C_ENTRIES - 1;
}
}
- l3p = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*ml3p));
+ l3p = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*ml3p));
} else {
*ml3p = NULL;
@@ -6131,8 +6131,7 @@ retry:
} else {
KASSERT(lvl == 2,
("pmap_enter_l3c: Invalid level %d", lvl));
- l3p = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(
- pmap_load(pde)));
+ l3p = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(pde)));
}
}
have_l3p:
@@ -6204,7 +6203,7 @@ have_l3p:
*/
if ((l3e & ATTR_S1_XN) == 0 && pmap != kernel_pmap &&
m->md.pv_memattr == VM_MEMATTR_WRITE_BACK)
- cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), L3C_SIZE);
+ cpu_icache_sync_range(PHYS_TO_DMAP(pa), L3C_SIZE);
/*
* Map the superpage.
@@ -6369,7 +6368,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
return (mpte);
}
}
- l3 = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+ l3 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
l3 = &l3[pmap_l3_index(va)];
} else {
mpte = NULL;
@@ -6431,7 +6430,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
/* Sync icache before the mapping is stored to PTE */
if ((prot & VM_PROT_EXECUTE) && pmap != kernel_pmap &&
m->md.pv_memattr == VM_MEMATTR_WRITE_BACK)
- cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa), PAGE_SIZE);
+ cpu_icache_sync_range(PHYS_TO_DMAP(pa), PAGE_SIZE);
pmap_store(l3, l3_val);
dsb(ishst);
@@ -6770,7 +6769,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
("pmap_copy: source page table page is unused"));
if (va_next > end_addr)
va_next = end_addr;
- src_pte = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(srcptepaddr));
+ src_pte = PHYS_TO_DMAP(PTE_TO_PHYS(srcptepaddr));
src_pte = &src_pte[pmap_l3_index(addr)];
dstmpte = NULL;
for (; addr < va_next; addr += PAGE_SIZE, src_pte++) {
@@ -6789,8 +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 = (pt_entry_t *)
- PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
+ dst_pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
dst_pte = &dst_pte[pmap_l3_index(addr)];
if ((ptetemp & ATTR_CONTIGUOUS) != 0 && (addr &
L3C_OFFSET) == 0 && addr + L3C_OFFSET <=
@@ -6877,9 +6875,9 @@ pmap_vmspace_copy(pmap_t dst_pmap, pmap_t src_pmap)
void
pmap_zero_page(vm_page_t m)
{
- vm_offset_t va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- pagezero((void *)va);
+ pagezero(va);
}
/*
@@ -6891,10 +6889,10 @@ pmap_zero_page(vm_page_t m)
void
pmap_zero_page_area(vm_page_t m, int off, int size)
{
- vm_offset_t va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
if (off == 0 && size == PAGE_SIZE)
- pagezero((void *)va);
+ pagezero(va);
else
bzero((char *)va + off, size);
}
@@ -6908,10 +6906,10 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
void
pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
{
- vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
- vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+ void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
+ void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
- pagecopy((void *)src, (void *)dst);
+ pagecopy(src, dst);
}
int unmapped_buf_allowed = 1;
@@ -6956,7 +6954,7 @@ void *
pmap_quick_enter_page(vm_page_t m)
{
- return ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
}
void
@@ -7992,7 +7990,7 @@ pmap_mapbios(vm_paddr_t pa, vm_size_t size)
/* Use the DMAP region if we can */
if (PHYS_IN_DMAP(pa) && PHYS_IN_DMAP(pa + size - 1) &&
pmap_kmapped_range(PHYS_TO_DMAP(pa), size))
- return ((void *)PHYS_TO_DMAP(pa));
+ return (PHYS_TO_DMAP(pa));
if (!vm_initialized) {
/*
@@ -8119,7 +8117,7 @@ pmap_unmapbios(void *p, vm_size_t size)
va + size - 1));
/* Ensure the attributes are as expected for the DMAP region */
PMAP_LOCK(kernel_pmap);
- error = pmap_change_props_locked(va, size,
+ error = pmap_change_props_locked(p, size,
PROT_READ | PROT_WRITE, VM_MEMATTR_DEFAULT, false);
PMAP_UNLOCK(kernel_pmap);
KASSERT(error == 0, ("%s: Failed to reset DMAP attributes: %d",
@@ -8195,7 +8193,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((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
+ pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
m->md.pv_memattr) != 0)
panic("memory attribute change on the direct map failed");
}
@@ -8225,8 +8223,7 @@ pmap_change_attr(void *va, vm_size_t size, int mode)
int error;
PMAP_LOCK(kernel_pmap);
- error = pmap_change_props_locked((vm_offset_t)va, size, PROT_NONE, mode,
- false);
+ error = pmap_change_props_locked(va, size, PROT_NONE, mode, false);
PMAP_UNLOCK(kernel_pmap);
return (error);
}
@@ -8248,16 +8245,16 @@ pmap_change_prot(void *va, vm_size_t size, vm_prot_t prot)
return (EINVAL);
PMAP_LOCK(kernel_pmap);
- error = pmap_change_props_locked((vm_offset_t)va, size, prot, -1, false);
+ error = pmap_change_props_locked(va, size, prot, -1, false);
PMAP_UNLOCK(kernel_pmap);
return (error);
}
static int
-pmap_change_props_locked(vm_offset_t va, vm_size_t size, vm_prot_t prot,
+pmap_change_props_locked(void *addr, vm_size_t size, vm_prot_t prot,
int mode, bool skip_unmapped)
{
- vm_offset_t base, offset, tmpva;
+ vm_offset_t base, offset, tmpva, va;
vm_size_t pte_size;
vm_paddr_t pa;
pt_entry_t pte, *ptep, *newpte;
@@ -8266,6 +8263,7 @@ pmap_change_props_locked(vm_offset_t va, vm_size_t size, vm_prot_t prot,
int lvl, rv;
PMAP_LOCK_ASSERT(kernel_pmap, MA_OWNED);
+ va = (vm_offset_t)addr;
base = trunc_page(va);
offset = va & PAGE_MASK;
size = round_page(offset + size);
@@ -8508,7 +8506,7 @@ pmap_demote_l1(pmap_t pmap, pt_entry_t *l1, vm_offset_t va)
}
l2phys = VM_PAGE_TO_PHYS(ml2);
- l2 = (pt_entry_t *)PHYS_TO_DMAP(l2phys);
+ l2 = PHYS_TO_DMAP(l2phys);
/* Address the range points at */
phys = PTE_TO_PHYS(oldl1);
@@ -8691,7 +8689,7 @@ pmap_demote_l2_locked(pmap_t pmap, pt_entry_t *l2, vm_offset_t va,
}
}
l3phys = VM_PAGE_TO_PHYS(ml3);
- l3 = (pt_entry_t *)PHYS_TO_DMAP(l3phys);
+ l3 = PHYS_TO_DMAP(l3phys);
newl3 = ATTR_CONTIGUOUS | (oldl2 & ~ATTR_DESCR_MASK) | L3_PAGE;
KASSERT((oldl2 & (ATTR_S1_AP_RW_BIT | ATTR_SW_DBM)) !=
(ATTR_S1_AP(ATTR_S1_AP_RO) | ATTR_SW_DBM),
@@ -9374,8 +9372,7 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_t sz)
/* Extract the physical address & find it in the DMAP */
pa = pmap_extract(pmap, va);
if (pa != 0)
- cpu_icache_sync_range((void *)PHYS_TO_DMAP(pa),
- len);
+ cpu_icache_sync_range(PHYS_TO_DMAP(pa), len);
/* Move to the next page */
sz -= len;
@@ -9644,7 +9641,7 @@ pmap_map_io_transient(vm_page_t page[], void *vaddr[], int count,
vaddr[i] = (void *)addr;
needs_mapping = true;
} else {
- vaddr[i] = (void *)PHYS_TO_DMAP(paddr);
+ vaddr[i] = PHYS_TO_DMAP(paddr);
}
}
@@ -10185,7 +10182,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
continue;
}
pa = PTE_TO_PHYS(l0e);
- l1 = (pd_entry_t *)PHYS_TO_DMAP(pa);
+ l1 = PHYS_TO_DMAP(pa);
for (j = pmap_l1_index(sva); j < Ln_ENTRIES; j++) {
l1e = l1[j];
@@ -10203,7 +10200,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
continue;
}
pa = PTE_TO_PHYS(l1e);
- l2 = (pd_entry_t *)PHYS_TO_DMAP(pa);
+ l2 = PHYS_TO_DMAP(pa);
for (k = pmap_l2_index(sva); k < Ln_ENTRIES; k++) {
l2e = l2[k];
@@ -10225,7 +10222,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
continue;
}
pa = PTE_TO_PHYS(l2e);
- l3 = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ l3 = PHYS_TO_DMAP(pa);
for (l = pmap_l3_index(sva); l < Ln_ENTRIES;
l++, sva += L3_SIZE) {
diff --git a/sys/arm64/include/sf_buf.h b/sys/arm64/include/sf_buf.h
index c66095983bce..497789732c27 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 ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
}
static inline vm_page_t
diff --git a/sys/arm64/include/vmparam.h b/sys/arm64/include/vmparam.h
index 650c6f5c9225..f33cde5894f3 100644
--- a/sys/arm64/include/vmparam.h
+++ b/sys/arm64/include/vmparam.h
@@ -254,7 +254,7 @@
#define PHYS_IN_DMAP_RANGE(pa) ((pa) >= DMAP_MIN_PHYSADDR && \
(pa) < DMAP_MAX_PHYSADDR)
#define PHYS_IN_DMAP(pa) (PHYS_IN_DMAP_RANGE(pa) && \
- pmap_klookup(PHYS_TO_DMAP(pa), NULL))
+ pmap_klookup(PHYS_TO_DMAP_ADDR(pa), NULL))
/* True if va is in the dmap range */
#define VIRT_IN_DMAP(va) \
({ \
@@ -264,13 +264,14 @@
})
#define PMAP_HAS_DMAP 1
-#define PHYS_TO_DMAP(pa) \
+#define PHYS_TO_DMAP_ADDR(pa) \
({ \
KASSERT(PHYS_IN_DMAP_RANGE(pa), \
("%s: PA out of range, PA: 0x%lx", __func__, \
(vm_paddr_t)(pa))); \
((pa) - dmap_phys_base) + DMAP_MIN_ADDRESS; \
})
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(va) \
({ \
diff --git a/sys/arm64/iommu/iommu_pmap.c b/sys/arm64/iommu/iommu_pmap.c
index dc5c09239c04..e6183f7fde03 100644
--- a/sys/arm64/iommu/iommu_pmap.c
+++ b/sys/arm64/iommu/iommu_pmap.c
@@ -112,7 +112,7 @@ smmu_pmap_l0_to_l1(pd_entry_t *l0, vm_offset_t va)
{
pd_entry_t *l1;
- l1 = (pd_entry_t *)PHYS_TO_DMAP(smmu_pmap_load(l0) & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(smmu_pmap_load(l0) & ~ATTR_MASK);
return (&l1[smmu_l1_index(va)]);
}
@@ -143,7 +143,7 @@ smmu_pmap_l1_to_l2(pd_entry_t *l1p, vm_offset_t va)
("%s: L1 entry %#lx for %#lx is invalid", __func__, l1, va));
KASSERT((l1 & ATTR_DESCR_TYPE_MASK) == ATTR_DESCR_TYPE_TABLE,
("%s: L1 entry %#lx for %#lx is a leaf", __func__, l1, va));
- l2p = (pd_entry_t *)PHYS_TO_DMAP(l1 & ~ATTR_MASK);
+ l2p = PHYS_TO_DMAP(l1 & ~ATTR_MASK);
return (&l2p[smmu_l2_index(va)]);
}
@@ -175,7 +175,7 @@ smmu_pmap_l2_to_l3(pd_entry_t *l2p, vm_offset_t va)
("%s: L2 entry %#lx for %#lx is invalid", __func__, l2, va));
KASSERT((l2 & ATTR_DESCR_TYPE_MASK) == ATTR_DESCR_TYPE_TABLE,
("%s: L2 entry %#lx for %#lx is a leaf", __func__, l2, va));
- l3p = (pt_entry_t *)PHYS_TO_DMAP(l2 & ~ATTR_MASK);
+ l3p = PHYS_TO_DMAP(l2 & ~ATTR_MASK);
return (&l3p[smmu_l3_index(va)]);
}
@@ -410,7 +410,7 @@ smmu_pmap_pinit(struct smmu_pmap *pmap)
m = vm_page_alloc_noobj(VM_ALLOC_WAITOK | VM_ALLOC_WIRED |
VM_ALLOC_ZERO);
pmap->sp_l0_paddr = VM_PAGE_TO_PHYS(m);
- pmap->sp_l0 = (pd_entry_t *)PHYS_TO_DMAP(pmap->sp_l0_paddr);
+ pmap->sp_l0 = PHYS_TO_DMAP(pmap->sp_l0_paddr);
#ifdef INVARIANTS
pmap->sp_resident_count = 0;
@@ -495,7 +495,7 @@ _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex)
l1pg->ref_count++;
}
- l1 = (pd_entry_t *)PHYS_TO_DMAP(smmu_pmap_load(l0) &~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(smmu_pmap_load(l0) &~ATTR_MASK);
l1 = &l1[ptepindex & Ln_ADDR_MASK];
smmu_pmap_store(l1, VM_PAGE_TO_PHYS(m) | IOMMU_L1_TABLE);
} else {
@@ -516,10 +516,10 @@ _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex)
return (NULL);
}
tl0 = smmu_pmap_load(l0);
- l1 = (pd_entry_t *)PHYS_TO_DMAP(tl0 & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(tl0 & ~ATTR_MASK);
l1 = &l1[l1index & Ln_ADDR_MASK];
} else {
- l1 = (pd_entry_t *)PHYS_TO_DMAP(tl0 & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(tl0 & ~ATTR_MASK);
l1 = &l1[l1index & Ln_ADDR_MASK];
tl1 = smmu_pmap_load(l1);
if (tl1 == 0) {
@@ -536,7 +536,7 @@ _pmap_alloc_l3(struct smmu_pmap *pmap, vm_pindex_t ptepindex)
}
}
- l2 = (pd_entry_t *)PHYS_TO_DMAP(smmu_pmap_load(l1) &~ATTR_MASK);
+ l2 = PHYS_TO_DMAP(smmu_pmap_load(l1) &~ATTR_MASK);
l2 = &l2[ptepindex & Ln_ADDR_MASK];
smmu_pmap_store(l2, VM_PAGE_TO_PHYS(m) | IOMMU_L2_TABLE);
}
@@ -806,7 +806,7 @@ smmu_pmap_remove_pages(struct smmu_pmap *pmap)
}
pa0 = l0e & ~ATTR_MASK;
m0 = PHYS_TO_VM_PAGE(pa0);
- l1 = (pd_entry_t *)PHYS_TO_DMAP(pa0);
+ l1 = PHYS_TO_DMAP(pa0);
for (j = 0; j < IOMMU_Ln_ENTRIES; j++) {
l1e = l1[j];
@@ -818,7 +818,7 @@ smmu_pmap_remove_pages(struct smmu_pmap *pmap)
}
pa1 = l1e & ~ATTR_MASK;
m1 = PHYS_TO_VM_PAGE(pa1);
- l2 = (pd_entry_t *)PHYS_TO_DMAP(pa1);
+ l2 = PHYS_TO_DMAP(pa1);
for (k = 0; k < IOMMU_Ln_ENTRIES; k++) {
l2e = l2[k];
@@ -827,7 +827,7 @@ smmu_pmap_remove_pages(struct smmu_pmap *pmap)
}
pa = l2e & ~ATTR_MASK;
m = PHYS_TO_VM_PAGE(pa);
- l3 = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ l3 = PHYS_TO_DMAP(pa);
for (l = 0; l < IOMMU_Ln_ENTRIES; l++) {
l3e = l3[l];
diff --git a/sys/arm64/vmm/vmm_mmu.c b/sys/arm64/vmm/vmm_mmu.c
index ab876d4b47b6..b362af6421db 100644
--- a/sys/arm64/vmm/vmm_mmu.c
+++ b/sys/arm64/vmm/vmm_mmu.c
@@ -63,7 +63,7 @@ vmmpmap_init(void)
return (false);
l0_paddr = VM_PAGE_TO_PHYS(m);
- l0 = (pd_entry_t *)PHYS_TO_DMAP(l0_paddr);
+ l0 = PHYS_TO_DMAP(l0_paddr);
mtx_init(&vmmpmap_mtx, "vmm pmap", NULL, MTX_DEF);
@@ -77,7 +77,7 @@ vmmpmap_release_l3(pd_entry_t l2e)
vm_page_t m;
int i;
- l3 = (pd_entry_t *)PHYS_TO_DMAP(l2e & ~ATTR_MASK);
+ l3 = PHYS_TO_DMAP(l2e & ~ATTR_MASK);
for (i = 0; i < Ln_ENTRIES; i++) {
KASSERT(l3[i] == 0, ("%s: l3 still mapped: %p %lx", __func__,
&l3[i], l3[i]));
@@ -95,7 +95,7 @@ vmmpmap_release_l2(pd_entry_t l1e)
vm_page_t m;
int i;
- l2 = (pd_entry_t *)PHYS_TO_DMAP(l1e & ~ATTR_MASK);
+ l2 = PHYS_TO_DMAP(l1e & ~ATTR_MASK);
for (i = 0; i < Ln_ENTRIES; i++) {
if (l2[i] != 0) {
vmmpmap_release_l3(l2[i]);
@@ -114,7 +114,7 @@ vmmpmap_release_l1(pd_entry_t l0e)
vm_page_t m;
int i;
- l1 = (pd_entry_t *)PHYS_TO_DMAP(l0e & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(l0e & ~ATTR_MASK);
for (i = 0; i < Ln_ENTRIES; i++) {
if (l1[i] != 0) {
vmmpmap_release_l2(l1[i]);
@@ -189,7 +189,7 @@ again:
vm_page_free_zero(m);
}
- l1 = (pd_entry_t *)PHYS_TO_DMAP(l0e & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(l0e & ~ATTR_MASK);
return (l1);
}
@@ -232,7 +232,7 @@ again:
vm_page_free_zero(m);
}
- l2 = (pd_entry_t *)PHYS_TO_DMAP(l1e & ~ATTR_MASK);
+ l2 = PHYS_TO_DMAP(l1e & ~ATTR_MASK);
return (l2);
}
@@ -275,7 +275,7 @@ again:
vm_page_free_zero(m);
}
- l3 = (pt_entry_t *)PHYS_TO_DMAP(l2e & ~ATTR_MASK);
+ l3 = PHYS_TO_DMAP(l2e & ~ATTR_MASK);
return (l3);
}
@@ -362,17 +362,17 @@ vmmpmap_remove(vm_offset_t va, vm_size_t size, bool invalidate)
MPASS(l0e != 0);
MPASS((l0e & ATTR_DESCR_MASK) == L0_TABLE);
- l1 = (pd_entry_t *)PHYS_TO_DMAP(l0e & ~ATTR_MASK);
+ l1 = PHYS_TO_DMAP(l0e & ~ATTR_MASK);
l1e = atomic_load_64(&l1[pmap_l1_index(va)]);
MPASS(l1e != 0);
MPASS((l1e & ATTR_DESCR_MASK) == L1_TABLE);
- l2 = (pd_entry_t *)PHYS_TO_DMAP(l1e & ~ATTR_MASK);
+ l2 = PHYS_TO_DMAP(l1e & ~ATTR_MASK);
l2e = atomic_load_64(&l2[pmap_l2_index(va)]);
MPASS(l2e != 0);
MPASS((l2e & ATTR_DESCR_MASK) == L2_TABLE);
- l3 = (pd_entry_t *)PHYS_TO_DMAP(l2e & ~ATTR_MASK);
+ l3 = PHYS_TO_DMAP(l2e & ~ATTR_MASK);
if (invalidate) {
l3e = atomic_load_64(&l3[pmap_l3_index(va)]);
MPASS(l3e != 0);
diff --git a/sys/compat/linuxkpi/common/include/linux/highmem.h b/sys/compat/linuxkpi/common/include/linux/highmem.h
index 1374712735ac..b704e77b6c2f 100644
--- a/sys/compat/linuxkpi/common/include/linux/highmem.h
+++ b/sys/compat/linuxkpi/common/include/linux/highmem.h
@@ -62,7 +62,7 @@ kmap(struct page *page)
struct sf_buf *sf;
if (PMAP_HAS_DMAP) {
- return ((void *)PHYS_TO_DMAP(page_to_phys(page)));
+ return (PHYS_TO_DMAP(page_to_phys(page)));
} else {
sched_pin();
sf = sf_buf_alloc(page, SFB_NOWAIT | SFB_CPUPRIVATE);
diff --git a/sys/compat/linuxkpi/common/include/linux/io.h b/sys/compat/linuxkpi/common/include/linux/io.h
index 01ea282aa914..f89c150e7a3b 100644
--- a/sys/compat/linuxkpi/common/include/linux/io.h
+++ b/sys/compat/linuxkpi/common/include/linux/io.h
@@ -542,10 +542,10 @@ static inline int
arch_io_reserve_memtype_wc(resource_size_t start, resource_size_t size)
{
#if defined(__amd64__)
- vm_offset_t va;
+ void *va;
va = PHYS_TO_DMAP(start);
- return (-pmap_change_attr((void *)va, size, VM_MEMATTR_WRITE_COMBINING));
+ return (-pmap_change_attr(va, size, VM_MEMATTR_WRITE_COMBINING));
#else
return (0);
#endif
@@ -555,11 +555,11 @@ static inline void
arch_io_free_memtype_wc(resource_size_t start, resource_size_t size)
{
#if defined(__amd64__)
- vm_offset_t va;
+ void *va;
va = PHYS_TO_DMAP(start);
- pmap_change_attr((void *)va, size, VM_MEMATTR_WRITE_BACK);
+ pmap_change_attr(va, size, VM_MEMATTR_WRITE_BACK);
#endif
}
diff --git a/sys/compat/linuxkpi/common/include/linux/scatterlist.h b/sys/compat/linuxkpi/common/include/linux/scatterlist.h
index 775ed499a7d0..c49c2179d359 100644
--- a/sys/compat/linuxkpi/common/include/linux/scatterlist.h
+++ b/sys/compat/linuxkpi/common/include/linux/scatterlist.h
@@ -656,7 +656,7 @@ sg_pcopy_to_buffer(struct scatterlist *sgl, unsigned int nents,
break;
vaddr = sf_buf_kva(sf);
} else
- vaddr = (char *)PHYS_TO_DMAP(page_to_phys(page));
+ vaddr = PHYS_TO_DMAP(page_to_phys(page));
memcpy(buf, vaddr + sg->offset + offset, len);
if (!PMAP_HAS_DMAP)
sf_buf_free(sf);
diff --git a/sys/compat/linuxkpi/common/src/linux_page.c b/sys/compat/linuxkpi/common/src/linux_page.c
index 10ede3287bb4..39edb34545b7 100644
--- a/sys/compat/linuxkpi/common/src/linux_page.c
+++ b/sys/compat/linuxkpi/common/src/linux_page.c
@@ -87,8 +87,7 @@ linux_page_address(const struct page *page)
{
if (page->object != kernel_object) {
- return (PMAP_HAS_DMAP ?
- ((void *)(uintptr_t)PHYS_TO_DMAP(page_to_phys(page))) :
+ return (PMAP_HAS_DMAP ? PHYS_TO_DMAP(page_to_phys(page)) :
NULL);
}
return ((void *)(uintptr_t)(VM_MIN_KERNEL_ADDRESS +
diff --git a/sys/contrib/ncsw/user/env/xx.c b/sys/contrib/ncsw/user/env/xx.c
index aaf795ffa57a..6c943f615a3f 100644
--- a/sys/contrib/ncsw/user/env/xx.c
+++ b/sys/contrib/ncsw/user/env/xx.c
@@ -718,7 +718,7 @@ XX_PhysToVirt(physAddress_t addr)
return ((void *)(pv->pv_va + ((vm_offset_t)addr & PAGE_MASK)));
if (PMAP_HAS_DMAP)
- return ((void *)(uintptr_t)PHYS_TO_DMAP(addr));
+ return (PHYS_TO_DMAP(addr));
printf("NetCommSW: "
"Unable to translate physical address 0x%09jx!\n", (uintmax_t)addr);
diff --git a/sys/crypto/ccp/ccp_hardware.c b/sys/crypto/ccp/ccp_hardware.c
index 497f80dbd676..9603539c7fb1 100644
--- a/sys/crypto/ccp/ccp_hardware.c
+++ b/sys/crypto/ccp/ccp_hardware.c
@@ -1601,7 +1601,7 @@ ccp_do_blkcipher(struct ccp_queue *qp, struct ccp_session *s,
return (error);
INSECURE_DEBUG(dev, "%s: Contents: %16D\n", __func__,
- (void *)PHYS_TO_DMAP(qp->cq_sg_ulptx->sg_segs[0].ss_paddr), " ");
+ PHYS_TO_DMAP(qp->cq_sg_ulptx->sg_segs[0].ss_paddr), " ");
DPRINTF(dev, "%s: starting AES ops @ %u\n", __func__, qp->cq_tail);
diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c
index b55c1c191077..c3ac120c6611 100644
--- a/sys/dev/efidev/efirt.c
+++ b/sys/dev/efidev/efirt.c
@@ -192,7 +192,7 @@ efi_init(void)
return (0);
}
- efi_systbl = (struct efi_systbl *)efi_phys_to_kva(efi_systbl_phys);
+ efi_systbl = efi_phys_to_kva(efi_systbl_phys);
if (efi_systbl == NULL || efi_systbl->st_hdr.th_sig != EFI_SYSTBL_SIG) {
efi_systbl = NULL;
if (bootverbose)
@@ -243,7 +243,7 @@ efi_init(void)
* with an old loader.efi, check if the RS->GetTime function is within
* the EFI map, and fail to attach if not.
*/
- rtdm = (struct efi_rt *)efi_phys_to_kva((uintptr_t)efi_runtime);
+ rtdm = efi_phys_to_kva((uintptr_t)efi_runtime);
if (rtdm == NULL || !efi_is_in_map(map, ndesc, efihdr->descriptor_size,
(vm_offset_t)rtdm->rt_gettime)) {
if (bootverbose)
diff --git a/sys/dev/hwt/hwt_vm.c b/sys/dev/hwt/hwt_vm.c
index 18bbdbe37a99..0ea1fe44d4e3 100644
--- a/sys/dev/hwt/hwt_vm.c
+++ b/sys/dev/hwt/hwt_vm.c
@@ -110,7 +110,7 @@ hwt_vm_alloc_pages(struct hwt_vm *vm, int kva_req)
vm_paddr_t low, high, boundary;
vm_memattr_t memattr;
#ifdef __aarch64__
- uintptr_t va;
+ void *va;
#endif
int alignment;
vm_page_t m;
@@ -160,7 +160,7 @@ retry:
#ifdef __aarch64__
va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- cpu_dcache_wb_range((void *)va, PAGE_SIZE);
+ cpu_dcache_wb_range(va, 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 8847680072d3..ea5b1e6c51c4 100644
--- a/sys/dev/iscsi/icl_soft.c
+++ b/sys/dev/iscsi/icl_soft.c
@@ -1112,7 +1112,7 @@ icl_soft_conn_pdu_append_bio(struct icl_conn *ic, struct icl_pdu *request,
{
struct icl_soft_pdu *isp = (struct icl_soft_pdu *)request;
struct mbuf *m, *m_tail;
- vm_offset_t vaddr;
+ char *vaddr;
size_t mtodo, page_offset, todo;
int i;
@@ -1200,8 +1200,8 @@ icl_soft_conn_pdu_append_bio(struct icl_conn *ic, struct icl_pdu *request,
do {
mtodo = min(todo, M_SIZE(m) - m->m_len);
- memcpy(mtod(m, char *) + m->m_len, (char *)vaddr +
- page_offset, mtodo);
+ memcpy(mtod(m, char *) + m->m_len, vaddr + page_offset,
+ mtodo);
m->m_len += mtodo;
if (m->m_len == M_SIZE(m))
m = m->m_next;
@@ -1269,7 +1269,7 @@ void
icl_soft_conn_pdu_get_bio(struct icl_conn *ic, struct icl_pdu *ip,
size_t pdu_off, struct bio *bp, size_t bio_off, size_t len)
{
- vm_offset_t vaddr;
+ char *vaddr;
size_t page_offset, todo;
int i __unused;
@@ -1288,7 +1288,7 @@ icl_soft_conn_pdu_get_bio(struct icl_conn *ic, struct icl_pdu *ip,
todo = MIN(len, PAGE_SIZE - page_offset);
vaddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(bp->bio_ma[i]));
- m_copydata(ip->ip_data_mbuf, pdu_off, todo, (char *)vaddr +
+ m_copydata(ip->ip_data_mbuf, pdu_off, todo, vaddr +
page_offset);
page_offset = 0;
diff --git a/sys/dev/vmm/vmm_mem.c b/sys/dev/vmm/vmm_mem.c
index 5a73cbf7fc5b..fc48756510ef 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 ((void *)(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)) + pageoff));
+ return ((char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)) + pageoff);
} else {
*cookie = NULL;
return (NULL);
diff --git a/sys/dev/vnic/nicvf_queues.c b/sys/dev/vnic/nicvf_queues.c
index 45d6b54b18ed..95185d39a3a8 100644
--- a/sys/dev/vnic/nicvf_queues.c
+++ b/sys/dev/vnic/nicvf_queues.c
@@ -116,7 +116,8 @@ struct rbuf_info {
struct mbuf * mbuf;
};
-#define GET_RBUF_INFO(x) ((struct rbuf_info *)((x) - NICVF_RCV_BUF_ALIGN_BYTES))
+#define GET_RBUF_INFO(x) \
+ ((struct rbuf_info *)((char *)(x) - NICVF_RCV_BUF_ALIGN_BYTES))
/* Poll a register for a specific value */
static int nicvf_poll_reg(struct nicvf *nic, int qidx,
diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c
index 39d7cb447d6a..3bff2737b687 100644
--- a/sys/fs/nfs/nfs_commonsubs.c
+++ b/sys/fs/nfs/nfs_commonsubs.c
@@ -913,8 +913,7 @@ nfsm_strtom(struct nfsrv_descript *nd, const char *cp, int siz)
if ((nd->nd_flag & ND_EXTPG) != 0) {
m2 = nfsm_add_ext_pgs(m2,
nd->nd_maxextsiz, &nd->nd_bextpg);
- cp2 = (char *)(void *)PHYS_TO_DMAP(
- m2->m_epg_pa[nd->nd_bextpg]);
+ cp2 = PHYS_TO_DMAP(m2->m_epg_pa[nd->nd_bextpg]);
nd->nd_bextpgsiz = left = PAGE_SIZE;
} else {
if (siz > ncl_mbuf_mlen)
@@ -5051,8 +5050,7 @@ nfsrvd_rephead(struct nfsrv_descript *nd)
if ((nd->nd_flag & ND_EXTPG) != 0) {
mreq = mb_alloc_ext_plus_pages(PAGE_SIZE, M_WAITOK);
nd->nd_mreq = nd->nd_mb = mreq;
- nd->nd_bpos = (char *)(void *)
- PHYS_TO_DMAP(mreq->m_epg_pa[0]);
+ nd->nd_bpos = PHYS_TO_DMAP(mreq->m_epg_pa[0]);
nd->nd_bextpg = 0;
nd->nd_bextpgsiz = PAGE_SIZE;
} else {
@@ -5534,8 +5532,7 @@ nfsm_set(struct nfsrv_descript *nd, u_int offs)
break;
}
}
- nd->nd_bpos = (char *)(void *)
- PHYS_TO_DMAP(m->m_epg_pa[nd->nd_bextpg]);
+ nd->nd_bpos = PHYS_TO_DMAP(m->m_epg_pa[nd->nd_bextpg]);
if (nd->nd_bextpg == 0)
nd->nd_bpos += m->m_epg_1st_off;
if (offs > 0) {
diff --git a/sys/fs/nfs/nfsm_subs.h b/sys/fs/nfs/nfsm_subs.h
index c15f3d1de848..a8b9fc4d2276 100644
--- a/sys/fs/nfs/nfsm_subs.h
+++ b/sys/fs/nfs/nfsm_subs.h
@@ -72,8 +72,7 @@ nfsm_build(struct nfsrv_descript *nd, int siz)
} else if ((nd->nd_flag & ND_EXTPG) != 0) {
if (siz > nd->nd_bextpgsiz) {
mb2 = mb_alloc_ext_plus_pages(PAGE_SIZE, M_WAITOK);
- nd->nd_bpos = (char *)(void *)
- PHYS_TO_DMAP(mb2->m_epg_pa[0]);
+ nd->nd_bpos = PHYS_TO_DMAP(mb2->m_epg_pa[0]);
nd->nd_bextpg = 0;
nd->nd_bextpgsiz = PAGE_SIZE - siz;
nd->nd_mb->m_next = mb2;
diff --git a/sys/fs/nfsclient/nfs_clcomsubs.c b/sys/fs/nfsclient/nfs_clcomsubs.c
index 2b48e257381e..d76eecd2762f 100644
--- a/sys/fs/nfsclient/nfs_clcomsubs.c
+++ b/sys/fs/nfsclient/nfs_clcomsubs.c
@@ -86,8 +86,8 @@ nfsm_uiombuf(struct nfsrv_descript *nd, struct uio *uiop, int siz)
if ((nd->nd_flag & ND_EXTPG) != 0) {
mp = nfsm_add_ext_pgs(mp,
nd->nd_maxextsiz, &nd->nd_bextpg);
- mcp = (char *)(void *)PHYS_TO_DMAP(
- mp->m_epg_pa[nd->nd_bextpg]);
+ mcp = PHYS_TO_DMAP(
+ mp->m_epg_pa[nd->nd_bextpg]);
nd->nd_bextpgsiz = mlen = PAGE_SIZE;
} else {
if (clflg)
@@ -137,8 +137,7 @@ nfsm_uiombuf(struct nfsrv_descript *nd, struct uio *uiop, int siz)
nd->nd_bextpgsiz) {
mp = nfsm_add_ext_pgs(mp, nd->nd_maxextsiz,
&nd->nd_bextpg);
- mcp = (char *)(void *)
- PHYS_TO_DMAP(mp->m_epg_pa[nd->nd_bextpg]);
+ mcp = PHYS_TO_DMAP(mp->m_epg_pa[nd->nd_bextpg]);
nd->nd_bextpgsiz = PAGE_SIZE;
}
for (left = 0; left < rem; left++)
@@ -172,7 +171,7 @@ nfsm_uiombuflist(struct uio *uiop, int siz, u_int maxext)
if (maxext > 0) {
mp = mb_alloc_ext_plus_pages(PAGE_SIZE, M_WAITOK);
- mcp = (char *)(void *)PHYS_TO_DMAP(mp->m_epg_pa[0]);
+ mcp = PHYS_TO_DMAP(mp->m_epg_pa[0]);
extpg = 0;
extpgsiz = PAGE_SIZE;
} else {
@@ -205,8 +204,7 @@ nfsm_uiombuflist(struct uio *uiop, int siz, u_int maxext)
mp = nfsm_add_ext_pgs(mp, maxext,
&extpg);
mlen = extpgsiz = PAGE_SIZE;
- mcp = (char *)(void *)PHYS_TO_DMAP(
- mp->m_epg_pa[extpg]);
+ mcp = PHYS_TO_DMAP(mp->m_epg_pa[extpg]);
} else {
if (clflg)
NFSMCLGET(mp, M_WAITOK);
diff --git a/sys/fs/nfsclient/nfs_clrpcops.c b/sys/fs/nfsclient/nfs_clrpcops.c
index 130cc4990152..7d7228a974f4 100644
--- a/sys/fs/nfsclient/nfs_clrpcops.c
+++ b/sys/fs/nfsclient/nfs_clrpcops.c
@@ -9834,11 +9834,11 @@ nfsm_split(struct mbuf *mp, uint64_t xfer)
/* Copy the data after left to the new page. */
trim = plen - left;
- cp = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[pgno]);
+ cp = PHYS_TO_DMAP(m->m_epg_pa[pgno]);
if (pgno == 0)
cp += m->m_epg_1st_off;
cp += left;
- cp2 = (char *)(void *)PHYS_TO_DMAP(m2->m_epg_pa[0]);
+ cp2 = PHYS_TO_DMAP(m2->m_epg_pa[0]);
if (pgno == m->m_epg_npgs - 1)
m2->m_epg_last_len = trim;
else {
diff --git a/sys/fs/nfsserver/nfs_nfsdport.c b/sys/fs/nfsserver/nfs_nfsdport.c
index 350785487a2b..13133e6fd165 100644
--- a/sys/fs/nfsserver/nfs_nfsdport.c
+++ b/sys/fs/nfsserver/nfs_nfsdport.c
@@ -1012,7 +1012,7 @@ nfsrv_createiovec_extpgs(int len, int maxextsiz, struct mbuf **mpp,
panic("nfsvno_createiovec_extpgs iov");
siz = min(PAGE_SIZE, left);
if (siz > 0) {
- iv->iov_base = (void *)PHYS_TO_DMAP(m->m_epg_pa[pgno]);
+ iv->iov_base = PHYS_TO_DMAP(m->m_epg_pa[pgno]);
iv->iov_len = siz;
m->m_len += siz;
if (pgno == m->m_epg_npgs - 1)
@@ -7358,7 +7358,7 @@ nfsm_trimtrailing(struct nfsrv_descript *nd, struct mbuf *mb, char *bpos,
if ((mb->m_flags & M_EXTPG) != 0) {
KASSERT(bextpg >= 0 && bextpg < mb->m_epg_npgs,
("nfsm_trimtrailing: bextpg out of range"));
- KASSERT(bpos == (char *)(void *)
+ KASSERT(bpos == (char *)
PHYS_TO_DMAP(mb->m_epg_pa[bextpg]) + PAGE_SIZE - bextpgsiz,
("nfsm_trimtrailing: bextpgsiz bad!"));
diff --git a/sys/fs/nfsserver/nfs_nfsdserv.c b/sys/fs/nfsserver/nfs_nfsdserv.c
index 601d536d2456..7f43654ae06d 100644
--- a/sys/fs/nfsserver/nfs_nfsdserv.c
+++ b/sys/fs/nfsserver/nfs_nfsdserv.c
@@ -862,7 +862,7 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused int isdgram,
nd->nd_mb = mpend;
if ((mpend->m_flags & M_EXTPG) != 0) {
nd->nd_bextpg = mpend->m_epg_npgs - 1;
- nd->nd_bpos = (char *)(void *)
+ nd->nd_bpos =
PHYS_TO_DMAP(mpend->m_epg_pa[nd->nd_bextpg]);
off = (nd->nd_bextpg == 0) ? mpend->m_epg_1st_off : 0;
nd->nd_bpos += off + mpend->m_epg_last_len;
@@ -1068,8 +1068,7 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int isdgram,
if ((m2->m_flags & M_EXTPG) != 0) {
nd->nd_flag |= ND_EXTPG;
nd->nd_bextpg = m2->m_epg_npgs - 1;
- nd->nd_bpos = (char *)(void *)
- PHYS_TO_DMAP(m2->m_epg_pa[nd->nd_bextpg]);
+ nd->nd_bpos = PHYS_TO_DMAP(m2->m_epg_pa[nd->nd_bextpg]);
poff = (nd->nd_bextpg == 0) ? m2->m_epg_1st_off : 0;
nd->nd_bpos += poff + m2->m_epg_last_len;
nd->nd_bextpgsiz = PAGE_SIZE - m2->m_epg_last_len -
@@ -6431,7 +6430,7 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused int isdgram,
if ((mpend->m_flags & M_EXTPG) != 0) {
nd->nd_flag |= ND_EXTPG;
nd->nd_bextpg = mpend->m_epg_npgs - 1;
- nd->nd_bpos = (char *)(void *)
+ nd->nd_bpos =
PHYS_TO_DMAP(mpend->m_epg_pa[nd->nd_bextpg]);
off = (nd->nd_bextpg == 0) ?
mpend->m_epg_1st_off : 0;
diff --git a/sys/fs/nfsserver/nfs_nfsdsubs.c b/sys/fs/nfsserver/nfs_nfsdsubs.c
index fdedf959f0e5..f4a934edede3 100644
--- a/sys/fs/nfsserver/nfs_nfsdsubs.c
+++ b/sys/fs/nfsserver/nfs_nfsdsubs.c
@@ -1347,7 +1347,7 @@ nfsrv_adj(struct mbuf *mp, int len, int nul)
m->m_epg_last_len = plen;
m->m_len = lastlen;
}
- cp = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[pgno]);
+ cp = PHYS_TO_DMAP(m->m_epg_pa[pgno]);
cp += off + plen - nul;
} else {
m->m_len = lastlen;
diff --git a/sys/i386/include/vmparam.h b/sys/i386/include/vmparam.h
index 6f8885a539c3..5a7055661896 100644
--- a/sys/i386/include/vmparam.h
+++ b/sys/i386/include/vmparam.h
@@ -234,7 +234,8 @@
#define SFBUF_PROCESS_PAGE
#define PMAP_HAS_DMAP 0
-#define PHYS_TO_DMAP(x) ({ panic("No direct map exists"); 0; })
+#define PHYS_TO_DMAP_ADDR(x) ({ panic("No direct map exists"); 0; })
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(x) ({ panic("No direct map exists"); 0; })
/*
diff --git a/sys/kern/kern_mbuf.c b/sys/kern/kern_mbuf.c
index 2741778414f4..9144366a9ff3 100644
--- a/sys/kern/kern_mbuf.c
+++ b/sys/kern/kern_mbuf.c
@@ -1767,7 +1767,7 @@ mb_mapped_to_unmapped(struct mbuf *mp, int len, int mlen, int how,
m = mout = mb_alloc_ext_plus_pages(mbufsiz, how);
if (m == NULL)
return (m);
- pgpos = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[0]);
+ pgpos = PHYS_TO_DMAP(m->m_epg_pa[0]);
pglen = PAGE_SIZE;
mblen = 0;
i = 0;
@@ -1785,7 +1785,7 @@ mb_mapped_to_unmapped(struct mbuf *mp, int len, int mlen, int how,
}
i = 0;
}
- pgpos = (char *)(void *)PHYS_TO_DMAP(m->m_epg_pa[i]);
+ pgpos = PHYS_TO_DMAP(m->m_epg_pa[i]);
pglen = PAGE_SIZE;
}
while (mblen == 0) {
diff --git a/sys/kern/subr_memdesc.c b/sys/kern/subr_memdesc.c
index ff8aad7731cd..2b4de0a1ef1e 100644
--- a/sys/kern/subr_memdesc.c
+++ b/sys/kern/subr_memdesc.c
@@ -56,7 +56,7 @@ phys_copyback(vm_paddr_t pa, int off, int size, const void *src)
page_off = pa & PAGE_MASK;
while (size > 0) {
todo = min(PAGE_SIZE - page_off, size);
- p = (void *)PHYS_TO_DMAP(pa);
+ p = PHYS_TO_DMAP(pa);
memcpy(p, cp, todo);
size -= todo;
cp += todo;
@@ -204,7 +204,7 @@ phys_copydata(vm_paddr_t pa, int off, int size, void *dst)
page_off = pa & PAGE_MASK;
while (size > 0) {
todo = min(PAGE_SIZE - page_off, size);
- p = (const void *)PHYS_TO_DMAP(pa);
+ p = PHYS_TO_DMAP(pa);
memcpy(cp, p, todo);
size -= todo;
cp += todo;
diff --git a/sys/kern/uipc_ktls.c b/sys/kern/uipc_ktls.c
index 5f30f2046965..5e8bf3ba8a5d 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] = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ store[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
}
return (i);
}
@@ -473,7 +473,7 @@ static void
ktls_free_mext_contig(struct mbuf *m)
{
M_ASSERTEXTPG(m);
- uma_zfree(ktls_buffer_zone, (void *)PHYS_TO_DMAP(m->m_epg_pa[0]));
+ uma_zfree(ktls_buffer_zone, PHYS_TO_DMAP(m->m_epg_pa[0]));
}
static int
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index 377a36287e3e..b3632c0bfff6 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -1394,7 +1394,7 @@ m_apply_extpg_one(struct mbuf *m, int off, int len,
pglen = m_epg_pagelen(m, i, pgoff);
if (off < pglen) {
count = min(pglen - off, len);
- p = (void *)PHYS_TO_DMAP(m->m_epg_pa[i] + pgoff + off);
+ p = PHYS_TO_DMAP(m->m_epg_pa[i] + pgoff + off);
rval = f(arg, p, count);
if (rval)
return (rval);
diff --git a/sys/opencrypto/criov.c b/sys/opencrypto/criov.c
index 72143e6abca7..ffe13bcca5bb 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 = (char *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages));
+ char *kaddr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(*pages));
count = min(PAGE_SIZE - off, len);
rval = (*f)(arg, kaddr + off, count);
if (rval)
@@ -272,7 +272,7 @@ m_epg_segment(struct mbuf *m, size_t offset, size_t *len)
pglen = m_epg_pagelen(m, i, pgoff);
if (offset < pglen) {
*len = m_epg_pages_extent(m, i, pglen) - offset;
- return ((void *)PHYS_TO_DMAP(m->m_epg_pa[i] + pgoff +
+ return (PHYS_TO_DMAP(m->m_epg_pa[i] + pgoff +
offset));
}
offset -= pglen;
diff --git a/sys/opencrypto/ktls_ocf.c b/sys/opencrypto/ktls_ocf.c
index ece509f5f969..ae2409d334e9 100644
--- a/sys/opencrypto/ktls_ocf.c
+++ b/sys/opencrypto/ktls_ocf.c
@@ -326,8 +326,7 @@ ktls_ocf_tls_cbc_encrypt(struct ktls_ocf_encrypt_state *state,
iov[0].iov_len = sizeof(*ad);
pgoff = m->m_epg_1st_off;
for (i = 0; i < m->m_epg_npgs; i++, pgoff = 0) {
- iov[i + 1].iov_base = (void *)PHYS_TO_DMAP(m->m_epg_pa[i] +
- pgoff);
+ iov[i + 1].iov_base = PHYS_TO_DMAP(m->m_epg_pa[i] + pgoff);
iov[i + 1].iov_len = m_epg_pagelen(m, i, pgoff);
}
iov[m->m_epg_npgs + 1].iov_base = m->m_epg_trail;
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c
index ebc1f68bc063..93787d31256b 100644
--- a/sys/powerpc/aim/mmu_oea64.c
+++ b/sys/powerpc/aim/mmu_oea64.c
@@ -704,7 +704,7 @@ moea64_add_ofw_mappings(phandle_t mmu, size_t sz)
for (off = 0; off < translations[i].om_len; off += PAGE_SIZE) {
/* If this address is direct-mapped, skip remapping */
if (hw_direct_map &&
- translations[i].om_va == PHYS_TO_DMAP(pa_base) &&
+ translations[i].om_va == PHYS_TO_DMAP_ADDR(pa_base) &&
moea64_calc_wimg(pa_base + off, VM_MEMATTR_DEFAULT)
== LPTE_M)
continue;
@@ -825,7 +825,7 @@ moea64_setup_direct_map(vm_offset_t kernelstart,
pregions[i].mr_start + pregions[i].mr_size)
pte_lo |= LPTE_G;
- moea64_kenter_large(PHYS_TO_DMAP(pa), pa, pte_lo, 1);
+ moea64_kenter_large(PHYS_TO_DMAP_ADDR(pa), pa, pte_lo, 1);
}
}
PMAP_UNLOCK(kernel_pmap);
@@ -1061,7 +1061,7 @@ moea64_mid_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
/* Place at address usable through the direct map */
if (hw_direct_map)
- moea64_bpvo_pool = (struct pvo_entry *)PHYS_TO_DMAP(pa);
+ moea64_bpvo_pool = PHYS_TO_DMAP(pa);
else
moea64_bpvo_pool = (struct pvo_entry *)pa;
@@ -1446,14 +1446,13 @@ 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_offset_t dst;
- vm_offset_t src;
+ vm_paddr_t dst;
+ vm_paddr_t src;
dst = VM_PAGE_TO_PHYS(mdst);
src = VM_PAGE_TO_PHYS(msrc);
- bcopy((void *)PHYS_TO_DMAP(src), (void *)PHYS_TO_DMAP(dst),
- PAGE_SIZE);
+ bcopy(PHYS_TO_DMAP(src), PHYS_TO_DMAP(dst), PAGE_SIZE);
}
inline void
@@ -1467,12 +1466,12 @@ 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 *)(uintptr_t)PHYS_TO_DMAP(
+ a_cp = (char *)PHYS_TO_DMAP(
VM_PAGE_TO_PHYS(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 *)(uintptr_t)PHYS_TO_DMAP(
+ b_cp = (char *)PHYS_TO_DMAP(
VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])) +
b_pg_offset;
bcopy(a_cp, b_cp, cnt);
@@ -1519,7 +1518,7 @@ moea64_zero_page_area(vm_page_t m, int off, int size)
panic("moea64_zero_page: size + off > PAGE_SIZE");
if (hw_direct_map) {
- bzero((caddr_t)(uintptr_t)PHYS_TO_DMAP(pa) + off, size);
+ bzero((caddr_t)PHYS_TO_DMAP(pa) + off, size);
} else {
mtx_lock(&moea64_scratchpage_mtx);
moea64_set_scratchpage_pa(0, pa);
@@ -1551,10 +1550,10 @@ void
moea64_zero_page_dmap(vm_page_t m)
{
vm_paddr_t pa = VM_PAGE_TO_PHYS(m);
- vm_offset_t va;
+ void *va;
va = PHYS_TO_DMAP(pa);
- bzero((void *)va, PAGE_SIZE);
+ bzero(va, PAGE_SIZE);
}
void *
@@ -1587,7 +1586,7 @@ void *
moea64_quick_enter_page_dmap(vm_page_t m)
{
- return ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
}
void
@@ -1766,7 +1765,7 @@ moea64_syncicache(pmap_t pmap, vm_offset_t va, vm_paddr_t pa,
} else if (pmap == kernel_pmap) {
__syncicache((void *)va, sz);
} else if (hw_direct_map) {
- __syncicache((void *)(uintptr_t)PHYS_TO_DMAP(pa), sz);
+ __syncicache(PHYS_TO_DMAP(pa), sz);
} else {
/* Use the scratch page to set up a temp mapping */
@@ -2334,7 +2333,7 @@ moea64_map(vm_offset_t *virt, vm_paddr_t pa_start,
if (moea64_calc_wimg(va, VM_MEMATTR_DEFAULT) != LPTE_M)
break;
if (va == pa_end)
- return ((void *)PHYS_TO_DMAP(pa_start));
+ return (PHYS_TO_DMAP(pa_start));
}
sva = *virt;
va = sva;
diff --git a/sys/powerpc/aim/mmu_radix.c b/sys/powerpc/aim/mmu_radix.c
index cdfb979e2f87..63159107d856 100644
--- a/sys/powerpc/aim/mmu_radix.c
+++ b/sys/powerpc/aim/mmu_radix.c
@@ -331,7 +331,7 @@ pmap_l3e_to_pte(pt_entry_t *l3e, vm_offset_t va)
vm_paddr_t ptepa;
ptepa = (be64toh(*l3e) & NLB_MASK);
- pte = (pt_entry_t *)PHYS_TO_DMAP(ptepa);
+ pte = PHYS_TO_DMAP(ptepa);
return (&pte[pmap_pte_index(va)]);
}
@@ -343,7 +343,7 @@ pmap_l2e_to_l3e(pt_entry_t *l2e, vm_offset_t va)
vm_paddr_t l3pa;
l3pa = (be64toh(*l2e) & NLB_MASK);
- l3e = (pml3_entry_t *)PHYS_TO_DMAP(l3pa);
+ l3e = PHYS_TO_DMAP(l3pa);
return (&l3e[pmap_pml3e_index(va)]);
}
@@ -356,7 +356,7 @@ pmap_l1e_to_l2e(pt_entry_t *l1e, vm_offset_t va)
l2pa = (be64toh(*l1e) & NLB_MASK);
- l2e = (pml2_entry_t *)PHYS_TO_DMAP(l2pa);
+ l2e = PHYS_TO_DMAP(l2pa);
return (&l2e[pmap_pml2e_index(va)]);
}
@@ -883,11 +883,11 @@ pmap_resident_count_dec(pmap_t pmap, int count)
}
static void
-pagezero(vm_offset_t va)
+pagezero(void *va)
{
va = trunc_page(va);
- bzero((void *)va, PAGE_SIZE);
+ bzero(va, PAGE_SIZE);
}
static uint64_t
@@ -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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
pc->pc_map[0] = PC_FREE0 & ~1ul; /* preallocated bit 0 */
pc->pc_map[1] = PC_FREE1;
@@ -1787,12 +1787,12 @@ mmu_radix_dmap_range(vm_paddr_t start, vm_paddr_t end)
printf("%s %lx -> %lx\n", __func__, start, end);
while (start < end) {
pteval = start | DMAP_PAGE_BITS;
- pte = pmap_pml1e(kernel_pmap, PHYS_TO_DMAP(start));
+ pte = pmap_pml1e(kernel_pmap, PHYS_TO_DMAP_ADDR(start));
if ((be64toh(*pte) & RPTE_VALID) == 0) {
page = alloc_pt_page();
pde_store(pte, page);
}
- pte = pmap_l1e_to_l2e(pte, PHYS_TO_DMAP(start));
+ pte = pmap_l1e_to_l2e(pte, PHYS_TO_DMAP_ADDR(start));
if ((start & L2_PAGE_MASK) == 0 &&
end - start >= L2_PAGE_SIZE) {
start += L2_PAGE_SIZE;
@@ -1802,7 +1802,7 @@ mmu_radix_dmap_range(vm_paddr_t start, vm_paddr_t end)
pde_store(pte, page);
}
- pte = pmap_l2e_to_l3e(pte, PHYS_TO_DMAP(start));
+ pte = pmap_l2e_to_l3e(pte, PHYS_TO_DMAP_ADDR(start));
if ((start & L3_PAGE_MASK) == 0 &&
end - start >= L3_PAGE_SIZE) {
start += L3_PAGE_SIZE;
@@ -1811,7 +1811,7 @@ mmu_radix_dmap_range(vm_paddr_t start, vm_paddr_t end)
page = alloc_pt_page();
pde_store(pte, page);
}
- pte = pmap_l3e_to_pte(pte, PHYS_TO_DMAP(start));
+ pte = pmap_l3e_to_pte(pte, PHYS_TO_DMAP_ADDR(start));
start += PAGE_SIZE;
done:
pte_store(pte, pteval);
@@ -1853,7 +1853,7 @@ mmu_radix_setup_pagetables(vm_size_t hwphyssz)
MPASS((l1phys & (RADIX_PGD_SIZE-1)) == 0);
for (int i = 0; i < RADIX_PGD_SIZE/PAGE_SIZE; i++)
pagezero(PHYS_TO_DMAP(l1phys + i * PAGE_SIZE));
- kernel_pmap->pm_pml1 = (pml1_entry_t *)PHYS_TO_DMAP(l1phys);
+ kernel_pmap->pm_pml1 = PHYS_TO_DMAP(l1phys);
mmu_radix_dmap_populate(hwphyssz);
@@ -2095,13 +2095,13 @@ mmu_radix_late_bootstrap(vm_offset_t start, vm_offset_t end)
* Allocate virtual address space for the message buffer.
*/
pa = msgbuf_phys = allocpages((msgbufsize + PAGE_MASK) >> PAGE_SHIFT);
- msgbufp = (struct msgbuf *)PHYS_TO_DMAP(pa);
+ msgbufp = PHYS_TO_DMAP(pa);
/*
* Allocate virtual address space for the dynamic percpu area.
*/
pa = allocpages(DPCPU_SIZE >> PAGE_SHIFT);
- dpcpu = (void *)PHYS_TO_DMAP(pa);
+ dpcpu = PHYS_TO_DMAP(pa);
dpcpu_init(dpcpu, curcpu);
crashdumpmap = (caddr_t)virtual_avail;
@@ -2118,7 +2118,7 @@ mmu_parttab_init(void)
{
uint64_t ptcr;
- isa3_parttab = (struct pate *)PHYS_TO_DMAP(parttab_phys);
+ isa3_parttab = PHYS_TO_DMAP(parttab_phys);
if (bootverbose)
printf("%s parttab: %p\n", __func__, isa3_parttab);
@@ -2179,7 +2179,7 @@ mmu_radix_proctab_init(void)
isa3_base_pid = 1;
- isa3_proctab = (void*)PHYS_TO_DMAP(proctab0pa);
+ isa3_proctab = PHYS_TO_DMAP(proctab0pa);
isa3_proctab->proctab0 =
htobe64(RTS_SIZE | DMAP_TO_PHYS(kernel_pmap->pm_pml1) |
RADIX_PGD_INDEX_SHIFT);
@@ -2577,8 +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 = (pml3_entry_t *)
- PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dst_pdpg));
+ l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dst_pdpg));
l3e = &l3e[pmap_pml3e_index(addr)];
if (be64toh(*l3e) == 0 && ((srcptepaddr & PG_MANAGED) == 0 ||
pmap_pv_insert_l3e(dst_pmap, addr, srcptepaddr,
@@ -2600,7 +2599,7 @@ mmu_radix_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr,
if (va_next > end_addr)
va_next = end_addr;
- src_pte = (pt_entry_t *)PHYS_TO_DMAP(srcptepaddr);
+ src_pte = PHYS_TO_DMAP(srcptepaddr);
src_pte = &src_pte[pmap_pte_index(addr)];
dstmpte = NULL;
while (addr < va_next) {
@@ -2616,7 +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 = (pt_entry_t *)
+ dst_pte =
PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dstmpte));
dst_pte = &dst_pte[pmap_pte_index(addr)];
if (be64toh(*dst_pte) == 0 &&
@@ -2671,14 +2670,14 @@ out:
static void
mmu_radix_copy_page(vm_page_t msrc, vm_page_t mdst)
{
- vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
- vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+ void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
+ void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
CTR3(KTR_PMAP, "%s(%p, %p)", __func__, src, dst);
/*
* XXX slow
*/
- bcopy((void *)src, (void *)dst, PAGE_SIZE);
+ bcopy(src, dst, PAGE_SIZE);
}
static void
@@ -2695,12 +2694,12 @@ 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 *)(uintptr_t)PHYS_TO_DMAP(
- VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])) +
+ a_cp = (char *)PHYS_TO_DMAP(
+ VM_PAGE_TO_PHYS(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 *)(uintptr_t)PHYS_TO_DMAP(
+ b_cp = (char *)PHYS_TO_DMAP(
VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])) +
b_pg_offset;
bcopy(a_cp, b_cp, cnt);
@@ -2733,7 +2732,7 @@ pmap_promote_l3e(pmap_t pmap, pml3_entry_t *pde, vm_offset_t va,
* either invalid, unused, or does not map the first 4KB physical page
* within a 2MB page.
*/
- firstpte = (pt_entry_t *)PHYS_TO_DMAP(be64toh(*pde) & PG_FRAME);
+ firstpte = PHYS_TO_DMAP(be64toh(*pde) & PG_FRAME);
setpde:
newpde = be64toh(*firstpte);
if ((newpde & ((PG_FRAME & L3_PAGE_MASK) | PG_A | PG_V)) != (PG_A | PG_V)) {
@@ -3217,7 +3216,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 = (pml3_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+ l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
l3e = &l3e[pmap_pml3e_index(va)];
oldl3e = be64toh(*l3e);
if ((oldl3e & PG_V) != 0) {
@@ -3280,8 +3279,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((pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(uwptpg)),
- newpde);
+ pmap_fill_ptp(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(uwptpg)), newpde);
}
if ((newpde & PG_MANAGED) != 0) {
/*
@@ -3424,7 +3422,7 @@ mmu_radix_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m,
return (mpte);
}
}
- pte = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+ pte = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
pte = &pte[pmap_pte_index(va)];
} else {
mpte = NULL;
@@ -3631,7 +3629,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] = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ store[i] = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
}
return (count);
}
@@ -4037,7 +4035,7 @@ mmu_radix_map(vm_offset_t *virt __unused, vm_paddr_t start,
CTR5(KTR_PMAP, "%s(%p, %#x, %#x, %#x)", __func__, virt, start, end,
prot);
- return ((void *)PHYS_TO_DMAP(start));
+ return (PHYS_TO_DMAP(start));
}
void
@@ -4106,7 +4104,7 @@ mmu_radix_object_init_pt(pmap_t pmap, vm_offset_t addr,
addr += L3_PAGE_SIZE;
continue;
}
- l3e = (pml3_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
+ l3e = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pdpg));
l3e = &l3e[pmap_pml3e_index(addr)];
if ((be64toh(*l3e) & PG_V) == 0) {
pa |= PG_M | PG_A | PG_RW;
@@ -4256,7 +4254,7 @@ mmu_radix_pinit(pmap_t pmap)
pmap->pm_pml1 = uma_zalloc(zone_radix_pgd, M_WAITOK);
for (int j = 0; j < RADIX_PGD_SIZE_SHIFT; j++)
- pagezero((vm_offset_t)pmap->pm_pml1 + j * PAGE_SIZE);
+ pagezero((char *)pmap->pm_pml1 + j * PAGE_SIZE);
vm_radix_init(&pmap->pm_radix);
TAILQ_INIT(&pmap->pm_pvchunk);
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
@@ -4346,7 +4344,7 @@ _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
pdppg = PHYS_TO_VM_PAGE(be64toh(*l1e) & PG_FRAME);
pdppg->ref_count++;
}
- l2e = (pml2_entry_t *)PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
+ l2e = PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
/* Now find the pdp page */
l2e = &l2e[pdpindex & RPTE_MASK];
@@ -4374,10 +4372,10 @@ _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
vm_page_free_zero(m);
return (NULL);
}
- l2e = (pml2_entry_t *)PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
+ l2e = PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
l2e = &l2e[pdpindex & RPTE_MASK];
} else {
- l2e = (pml2_entry_t *)PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
+ l2e = PHYS_TO_DMAP(be64toh(*l1e) & PG_FRAME);
l2e = &l2e[pdpindex & RPTE_MASK];
if ((be64toh(*l2e) & PG_V) == 0) {
/* Have to allocate a new pd, recurse */
@@ -4393,7 +4391,7 @@ _pmap_allocpte(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
pdpg->ref_count++;
}
}
- l3e = (pml3_entry_t *)PHYS_TO_DMAP(be64toh(*l2e) & PG_FRAME);
+ l3e = PHYS_TO_DMAP(be64toh(*l2e) & PG_FRAME);
/* Now we know where the page directory page is */
l3e = &l3e[ptepindex & RPTE_MASK];
@@ -4977,7 +4975,7 @@ pmap_demote_l3e_locked(pmap_t pmap, pml3_entry_t *l3e, vm_offset_t va,
pmap_resident_count_inc(pmap, 1);
}
mptepa = VM_PAGE_TO_PHYS(mpte);
- firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
+ firstpte = PHYS_TO_DMAP(mptepa);
KASSERT((oldpde & PG_A) != 0,
("pmap_demote_l3e: oldpde is missing PG_A"));
KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
@@ -5496,8 +5494,7 @@ mmu_radix_remove_pages(pmap_t pmap)
if ((tpte & (RPTE_LEAF | PG_V)) == PG_V) {
superpage = false;
ptel3e = tpte;
- pte = (pt_entry_t *)PHYS_TO_DMAP(tpte &
- PG_FRAME);
+ pte = PHYS_TO_DMAP(tpte & PG_FRAME);
pte = &pte[pmap_pte_index(pv->pv_va)];
tpte = be64toh(*pte);
} else {
@@ -5783,7 +5780,7 @@ mmu_radix_unwire(pmap_t pmap, vm_offset_t sva, vm_offset_t eva)
void
mmu_radix_zero_page(vm_page_t m)
{
- vm_offset_t addr;
+ void *addr;
CTR2(KTR_PMAP, "%s(%p)", __func__, m);
addr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
@@ -5797,7 +5794,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 = (caddr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ addr = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
memset(addr + off, 0, size);
}
@@ -5948,7 +5945,7 @@ 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((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)),
+ mmu_radix_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)),
PAGE_SIZE, m->md.mdpg_cache_attrs))
panic("memory attribute change on the direct map failed");
}
@@ -5990,7 +5987,7 @@ mmu_radix_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz)
sync_sz = min(sync_sz, sz);
if (pa != 0) {
pa += (va & PAGE_MASK);
- __syncicache((void *)PHYS_TO_DMAP(pa), sync_sz);
+ __syncicache(PHYS_TO_DMAP(pa), sync_sz);
}
va += sync_sz;
sz -= sync_sz;
@@ -6036,7 +6033,7 @@ pmap_demote_l2e(pmap_t pmap, pml2_entry_t *l2e, vm_offset_t va)
}
pdpg->pindex = va >> L2_PAGE_SIZE_SHIFT;
pdpgpa = VM_PAGE_TO_PHYS(pdpg);
- firstpde = (pml3_entry_t *)PHYS_TO_DMAP(pdpgpa);
+ firstpde = PHYS_TO_DMAP(pdpgpa);
KASSERT((oldpdpe & PG_A) != 0,
("pmap_demote_pdpe: oldpdpe is missing PG_A"));
KASSERT((oldpdpe & (PG_M | PG_RW)) != PG_RW,
@@ -6185,7 +6182,7 @@ mmu_radix_quick_enter_page(vm_page_t m)
CTR2(KTR_PMAP, "%s(%p)", __func__, m);
paddr = VM_PAGE_TO_PHYS(m);
- return ((void *)PHYS_TO_DMAP(paddr));
+ return (PHYS_TO_DMAP(paddr));
}
void
@@ -6332,7 +6329,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode, bool flush)
else {
/* Run ended, update direct map. */
error = pmap_change_attr_locked(
- (void *)PHYS_TO_DMAP(pa_start),
+ PHYS_TO_DMAP(pa_start),
pa_end - pa_start, mode, flush);
if (error != 0)
break;
@@ -6362,7 +6359,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode, bool flush)
else {
/* Run ended, update direct map. */
error = pmap_change_attr_locked(
- (void *)PHYS_TO_DMAP(pa_start),
+ PHYS_TO_DMAP(pa_start),
pa_end - pa_start, mode, flush);
if (error != 0)
break;
@@ -6390,7 +6387,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode, bool flush)
else {
/* Run ended, update direct map. */
error = pmap_change_attr_locked(
- (void *)PHYS_TO_DMAP(pa_start),
+ PHYS_TO_DMAP(pa_start),
pa_end - pa_start, mode, flush);
if (error != 0)
break;
@@ -6405,7 +6402,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode, bool flush)
if (error == 0 && pa_start != pa_end && pa_start < dmaplimit) {
pa_end1 = MIN(pa_end, dmaplimit);
if (pa_start != pa_end1)
- error = pmap_change_attr_locked((void *)PHYS_TO_DMAP(pa_start),
+ error = pmap_change_attr_locked(PHYS_TO_DMAP(pa_start),
pa_end1 - pa_start, mode, flush);
}
diff --git a/sys/powerpc/aim/moea64_native.c b/sys/powerpc/aim/moea64_native.c
index 169a4da7598b..351c93829635 100644
--- a/sys/powerpc/aim/moea64_native.c
+++ b/sys/powerpc/aim/moea64_native.c
@@ -610,14 +610,14 @@ moea64_bootstrap_native(vm_offset_t kernelstart, vm_offset_t kernelend)
*/
pa = moea64_bootstrap_alloc(size, MAX(256*1024, size));
if (hw_direct_map)
- moea64_pteg_table = (struct lpte *)PHYS_TO_DMAP(pa);
+ moea64_pteg_table = PHYS_TO_DMAP(pa);
else
moea64_pteg_table = (struct lpte *)pa;
/* Allocate partition table (ISA 3.0). */
if (cpu_features2 & PPC_FEATURE2_ARCH_3_00) {
pa = moea64_bootstrap_alloc(PART_SIZE, PART_SIZE);
- moea64_part_table = (struct pate *)PHYS_TO_DMAP(pa);
+ moea64_part_table = PHYS_TO_DMAP(pa);
}
DISABLE_TRANS(msr);
bzero(__DEVOLATILE(void *, moea64_pteg_table), moea64_pteg_count *
diff --git a/sys/powerpc/aim/slb.c b/sys/powerpc/aim/slb.c
index bd008234c40f..00e3577001cd 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 = (void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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.c b/sys/powerpc/booke/pmap.c
index 315e86aa64a9..625d57940c01 100644
--- a/sys/powerpc/booke/pmap.c
+++ b/sys/powerpc/booke/pmap.c
@@ -1580,7 +1580,7 @@ mmu_booke_map(vm_offset_t *virt, vm_paddr_t pa_start,
#ifdef __powerpc64__
/* XXX: Handle memory not starting at 0x0. */
if (pa_end < ctob(Maxmem))
- return ((void *)PHYS_TO_DMAP(pa_start));
+ return (PHYS_TO_DMAP(pa_start));
#endif
while (pa_start < pa_end) {
diff --git a/sys/powerpc/booke/pmap_64.c b/sys/powerpc/booke/pmap_64.c
index a233248da4bd..6e08103f315c 100644
--- a/sys/powerpc/booke/pmap_64.c
+++ b/sys/powerpc/booke/pmap_64.c
@@ -148,7 +148,7 @@ static void kernel_pte_alloc(vm_offset_t, vm_offset_t);
/**************************************************************************/
/* Allocate a page, to be used in a page table. */
-static vm_offset_t
+static void *
mmu_booke_alloc_page(pmap_t pmap, unsigned int idx, bool nosleep)
{
vm_page_t m;
@@ -254,19 +254,19 @@ unhold_free_page(pmap_t pmap, vm_page_t m)
return (false);
}
-static vm_offset_t
-get_pgtbl_page(pmap_t pmap, vm_offset_t *ptr_tbl, uint32_t index,
+static void *
+get_pgtbl_page(pmap_t pmap, void **ptr_tbl, uint32_t index,
bool nosleep, bool hold_parent, bool *isnew)
{
- vm_offset_t page;
+ void *page;
vm_page_t m;
page = ptr_tbl[index];
KASSERT(page != 0 || pmap != kernel_pmap,
("NULL page table page found in kernel pmap!"));
- if (page == 0) {
+ if (page == NULL) {
page = mmu_booke_alloc_page(pmap, index, nosleep);
- if (ptr_tbl[index] == 0) {
+ if (ptr_tbl[index] == NULL) {
*isnew = true;
ptr_tbl[index] = page;
if (hold_parent) {
@@ -293,18 +293,18 @@ ptbl_alloc(pmap_t pmap, vm_offset_t va, bool nosleep, bool *is_new)
unsigned int pg_root_idx = PG_ROOT_IDX(va);
unsigned int pdir_l1_idx = PDIR_L1_IDX(va);
unsigned int pdir_idx = PDIR_IDX(va);
- vm_offset_t pdir_l1, pdir, ptbl;
+ void *pdir_l1, *pdir, *ptbl;
/* When holding a parent, no need to hold the root index pages. */
- pdir_l1 = get_pgtbl_page(pmap, (vm_offset_t *)pmap->pm_root,
+ pdir_l1 = get_pgtbl_page(pmap, (void **)pmap->pm_root,
pg_root_idx, nosleep, false, is_new);
- if (pdir_l1 == 0)
+ if (pdir_l1 == NULL)
return (NULL);
- pdir = get_pgtbl_page(pmap, (vm_offset_t *)pdir_l1, pdir_l1_idx,
+ pdir = get_pgtbl_page(pmap, pdir_l1, pdir_l1_idx,
nosleep, !*is_new, is_new);
- if (pdir == 0)
+ if (pdir == NULL)
return (NULL);
- ptbl = get_pgtbl_page(pmap, (vm_offset_t *)pdir, pdir_idx,
+ ptbl = get_pgtbl_page(pmap, pdir, pdir_idx,
nosleep, !*is_new, is_new);
return ((pte_t *)ptbl);
@@ -648,7 +648,7 @@ mmu_booke_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz)
sync_sz = min(sync_sz, sz);
if (valid) {
pa += (va & PAGE_MASK);
- __syncicache((void *)PHYS_TO_DMAP(pa), sync_sz);
+ __syncicache(PHYS_TO_DMAP(pa), sync_sz);
}
va += sync_sz;
sz -= sync_sz;
@@ -665,12 +665,12 @@ mmu_booke_sync_icache(pmap_t pm, vm_offset_t va, vm_size_t sz)
static void
mmu_booke_zero_page_area(vm_page_t m, int off, int size)
{
- vm_offset_t va;
+ char *va;
/* XXX KASSERT off and size are within a single page? */
va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- bzero((caddr_t)va + off, size);
+ bzero(va + off, size);
}
/*
@@ -679,11 +679,11 @@ mmu_booke_zero_page_area(vm_page_t m, int off, int size)
static void
mmu_booke_zero_page(vm_page_t m)
{
- vm_offset_t va;
+ void *va;
va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- bzero((void *)va, PAGE_SIZE);
+ bzero(va, PAGE_SIZE);
}
/*
@@ -694,11 +694,11 @@ mmu_booke_zero_page(vm_page_t m)
static void
mmu_booke_copy_page(vm_page_t sm, vm_page_t dm)
{
- vm_offset_t sva, dva;
+ void *sva, *dva;
sva = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(sm));
dva = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(dm));
- memcpy((caddr_t)dva, (caddr_t)sva, PAGE_SIZE);
+ memcpy(dva, sva, PAGE_SIZE);
}
static inline void
@@ -718,10 +718,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)((uintptr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pa)) +
- a_pg_offset);
- b_cp = (caddr_t)((uintptr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(pb)) +
- 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;
bcopy(a_cp, b_cp, cnt);
a_offset += cnt;
b_offset += cnt;
@@ -732,7 +730,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 ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
}
static void
diff --git a/sys/powerpc/include/vmparam.h b/sys/powerpc/include/vmparam.h
index 052fb2ab60af..3dbc79d41a69 100644
--- a/sys/powerpc/include/vmparam.h
+++ b/sys/powerpc/include/vmparam.h
@@ -312,9 +312,10 @@ extern int vm_level_0_order;
#endif
#define PMAP_HAS_DMAP (hw_direct_map)
-#define PHYS_TO_DMAP(x) ({ \
+#define PHYS_TO_DMAP_ADDR(x) ({ \
KASSERT(hw_direct_map, ("Direct map not provided by PMAP")); \
(x) | DMAP_BASE_ADDRESS; })
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(x) ({ \
KASSERT(hw_direct_map, ("Direct map not provided by PMAP")); \
(uintptr_t)(x) &~ DMAP_BASE_ADDRESS; })
diff --git a/sys/powerpc/ofw/ofw_initrd.c b/sys/powerpc/ofw/ofw_initrd.c
index f8d8a9551e0e..7828ee8d5054 100644
--- a/sys/powerpc/ofw/ofw_initrd.c
+++ b/sys/powerpc/ofw/ofw_initrd.c
@@ -92,7 +92,7 @@ ofw_initrd_probe_and_attach(void *junk)
}
if (end - start > 0) {
- taste = (u_char*) PHYS_TO_DMAP(start);
+ taste = PHYS_TO_DMAP(start);
memcpy(&ehdr, taste, sizeof(ehdr));
if (IS_ELF(ehdr)) {
diff --git a/sys/powerpc/ofw/ofw_machdep.c b/sys/powerpc/ofw/ofw_machdep.c
index bffc04b15259..b1256c05b24d 100644
--- a/sys/powerpc/ofw/ofw_machdep.c
+++ b/sys/powerpc/ofw/ofw_machdep.c
@@ -94,7 +94,7 @@ ofw_save_trap_vec(char *save_trap_vec)
if (!ofw_real_mode || !hw_direct_map)
return;
- bcopy((void *)PHYS_TO_DMAP(EXC_RST), save_trap_vec, EXC_LAST - EXC_RST);
+ bcopy(PHYS_TO_DMAP(EXC_RST), save_trap_vec, EXC_LAST - EXC_RST);
}
static __inline void
@@ -103,9 +103,8 @@ ofw_restore_trap_vec(char *restore_trap_vec)
if (!ofw_real_mode || !hw_direct_map)
return;
- bcopy(restore_trap_vec, (void *)PHYS_TO_DMAP(EXC_RST),
- EXC_LAST - EXC_RST);
- __syncicache((void *)PHYS_TO_DMAP(EXC_RSVD), EXC_LAST - EXC_RSVD);
+ bcopy(restore_trap_vec, PHYS_TO_DMAP(EXC_RST), EXC_LAST - EXC_RST);
+ __syncicache(PHYS_TO_DMAP(EXC_RSVD), EXC_LAST - EXC_RSVD);
}
#pragma clang diagnostic pop
diff --git a/sys/powerpc/powerpc/bus_machdep.c b/sys/powerpc/powerpc/bus_machdep.c
index e908750961d0..2c76f2758807 100644
--- a/sys/powerpc/powerpc/bus_machdep.c
+++ b/sys/powerpc/powerpc/bus_machdep.c
@@ -115,7 +115,7 @@ bs_remap_earlyboot(void)
spa = earlyboot_mappings[i].addr;
if (hw_direct_map &&
- PHYS_TO_DMAP(spa) == earlyboot_mappings[i].virt &&
+ PHYS_TO_DMAP_ADDR(spa) == earlyboot_mappings[i].virt &&
pmap_dev_direct_mapped(spa, earlyboot_mappings[i].size) == 0)
continue;
diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c
index a98f095cadc0..a975bebebaad 100644
--- a/sys/powerpc/powerpc/machdep.c
+++ b/sys/powerpc/powerpc/machdep.c
@@ -562,7 +562,7 @@ load_external_symtab(void) {
if (!(end - start > 0))
return;
- kernelimg_final = (u_char *) PHYS_TO_DMAP(start);
+ kernelimg_final = PHYS_TO_DMAP(start);
#ifdef AIM
kernelimg = kernelimg_final;
#else /* BOOKE */
diff --git a/sys/powerpc/powerpc/mem.c b/sys/powerpc/powerpc/mem.c
index 8ee562350dd6..51eb6ac3bec5 100644
--- a/sys/powerpc/powerpc/mem.c
+++ b/sys/powerpc/powerpc/mem.c
@@ -125,8 +125,7 @@ kmem_direct_mapped: off = v & PAGE_MASK;
}
if (hw_direct_map && !pmap_dev_direct_mapped(v, cnt)) {
- error = uiomove((void *)PHYS_TO_DMAP(v), cnt,
- uio);
+ error = uiomove(PHYS_TO_DMAP(v), cnt, uio);
} else {
m.phys_addr = trunc_page(v);
marr = &m;
diff --git a/sys/powerpc/powerpc/uma_machdep.c b/sys/powerpc/powerpc/uma_machdep.c
index 923a348d35a7..f5e3b8b3356d 100644
--- a/sys/powerpc/powerpc/uma_machdep.c
+++ b/sys/powerpc/powerpc/uma_machdep.c
@@ -67,7 +67,7 @@ uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, u_int8_t *flags,
pmap_kenter(pa, pa);
va = (void *)(vm_offset_t)pa;
} else {
- va = (void *)(vm_offset_t)PHYS_TO_DMAP(pa);
+ va = PHYS_TO_DMAP(pa);
}
atomic_add_int(&hw_uma_mdpages, 1);
diff --git a/sys/powerpc/ps3/platform_ps3.c b/sys/powerpc/ps3/platform_ps3.c
index 556f723a0134..dff951305622 100644
--- a/sys/powerpc/ps3/platform_ps3.c
+++ b/sys/powerpc/ps3/platform_ps3.c
@@ -223,8 +223,7 @@ static int
ps3_smp_start_cpu(platform_t plat, struct pcpu *pc)
{
/* kernel is spinning on 0x40 == -1 right now */
- volatile uint32_t *secondary_spin_sem =
- (uint32_t *)PHYS_TO_DMAP((uintptr_t)0x40);
+ volatile uint32_t *secondary_spin_sem = PHYS_TO_DMAP((uintptr_t)0x40);
int remote_pir = pc->pc_hwref;
int timeout;
diff --git a/sys/riscv/include/sf_buf.h b/sys/riscv/include/sf_buf.h
index 293b44726a7c..1ea67076e676 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 ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
}
static inline vm_page_t
diff --git a/sys/riscv/include/vmparam.h b/sys/riscv/include/vmparam.h
index b9f4b9fc802f..50580face894 100644
--- a/sys/riscv/include/vmparam.h
+++ b/sys/riscv/include/vmparam.h
@@ -179,13 +179,14 @@
})
#define PMAP_HAS_DMAP 1
-#define PHYS_TO_DMAP(pa) \
+#define PHYS_TO_DMAP_ADDR(pa) \
({ \
KASSERT(PHYS_IN_DMAP(pa), \
("%s: PA out of range, PA: 0x%lx", __func__, \
(vm_paddr_t)(pa))); \
((pa) - dmap_phys_base) + DMAP_MIN_ADDRESS; \
})
+#define PHYS_TO_DMAP(x) ((void *)PHYS_TO_DMAP_ADDR(x))
#define DMAP_TO_PHYS(va) \
({ \
diff --git a/sys/riscv/riscv/mem.c b/sys/riscv/riscv/mem.c
index 9792c01fa673..ce0848b0312f 100644
--- a/sys/riscv/riscv/mem.c
+++ b/sys/riscv/riscv/mem.c
@@ -105,8 +105,7 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
case CDEV_MINOR_MEM:
/* If within the DMAP use this to copy from */
if (PHYS_IN_DMAP(v)) {
- v = PHYS_TO_DMAP(v);
- error = uiomove((void *)v, cnt, uio);
+ error = uiomove(PHYS_TO_DMAP(v), cnt, uio);
break;
}
diff --git a/sys/riscv/riscv/minidump_machdep.c b/sys/riscv/riscv/minidump_machdep.c
index 596be14015d9..3f8dc5ee439c 100644
--- a/sys/riscv/riscv/minidump_machdep.c
+++ b/sys/riscv/riscv/minidump_machdep.c
@@ -130,7 +130,7 @@ blk_write(struct dumperinfo *di, char *ptr, vm_paddr_t pa, size_t sz)
ptr += len;
sz -= len;
} else {
- dump_va = (void *)PHYS_TO_DMAP(pa);
+ dump_va = PHYS_TO_DMAP(pa);
fragsz += len;
pa += len;
sz -= len;
diff --git a/sys/riscv/riscv/pmap.c b/sys/riscv/riscv/pmap.c
index bae106dcbfbc..a49265250850 100644
--- a/sys/riscv/riscv/pmap.c
+++ b/sys/riscv/riscv/pmap.c
@@ -419,7 +419,7 @@ pmap_l0_to_l1(pd_entry_t *l0, vm_offset_t va)
KASSERT(pmap_mode != PMAP_MODE_SV39, ("%s: in SV39 mode", __func__));
phys = PTE_TO_PHYS(pmap_load(l0));
- l1 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l1 = PHYS_TO_DMAP(phys);
return (&l1[pmap_l1_index(va)]);
}
@@ -450,7 +450,7 @@ pmap_l1_to_l2(pd_entry_t *l1, vm_offset_t va)
pd_entry_t *l2;
phys = PTE_TO_PHYS(pmap_load(l1));
- l2 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l2 = PHYS_TO_DMAP(phys);
return (&l2[pmap_l2_index(va)]);
}
@@ -478,7 +478,7 @@ pmap_l2_to_l3(pd_entry_t *l2, vm_offset_t va)
pt_entry_t *l3;
phys = PTE_TO_PHYS(pmap_load(l2));
- l3 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l3 = PHYS_TO_DMAP(phys);
return (&l3[pmap_l3_index(va)]);
}
@@ -627,7 +627,7 @@ pmap_bootstrap_dmap(pd_entry_t *l1, vm_paddr_t freemempos)
endpa = physmap[idx + 1];
/* Virtual address for this range. */
- va = PHYS_TO_DMAP(pa);
+ va = PHYS_TO_DMAP_ADDR(pa);
/* Any 2MB possible for this range? */
if (roundup(pa, L2_SIZE) + L2_SIZE > endpa)
@@ -954,7 +954,7 @@ pmap_bootstrap(vm_paddr_t kernstart, vm_size_t kernlen)
/* Switch to the newly created page tables. */
kernel_pmap->pm_stage = PM_STAGE1;
- kernel_pmap->pm_top = (pd_entry_t *)PHYS_TO_DMAP(root_pt_phys);
+ kernel_pmap->pm_top = PHYS_TO_DMAP(root_pt_phys);
kernel_pmap->pm_satp = atop(root_pt_phys) | pmap_satp_mode();
csr_write(satp, kernel_pmap->pm_satp);
sfence_vma();
@@ -1372,7 +1372,7 @@ void *
pmap_map(vm_offset_t *virt, vm_paddr_t start, vm_paddr_t end, int prot)
{
- return ((void *)PHYS_TO_DMAP(start));
+ return (PHYS_TO_DMAP(start));
}
/*
@@ -1627,7 +1627,7 @@ pmap_pinit_stage(pmap_t pmap, enum pmap_stage stage)
4, 0, ~0ul, L2_SIZE, 0, VM_MEMATTR_DEFAULT);
topphys = VM_PAGE_TO_PHYS(m);
- pmap->pm_top = (pd_entry_t *)PHYS_TO_DMAP(topphys);
+ pmap->pm_top = PHYS_TO_DMAP(topphys);
pmap->pm_satp = pmap_satp_mode() | (topphys >> PAGE_SHIFT);
pmap->pm_stage = stage;
@@ -1757,7 +1757,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
pdpg = PHYS_TO_VM_PAGE(phys);
pdpg->ref_count++;
}
- l1 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l1 = PHYS_TO_DMAP(phys);
l1 = &l1[ptepindex & Ln_ADDR_MASK];
}
KASSERT((pmap_load(l1) & PTE_V) == 0,
@@ -1791,11 +1791,11 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
lockp) == NULL)
goto fail;
phys = PTE_TO_PHYS(pmap_load(l0));
- l1 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l1 = PHYS_TO_DMAP(phys);
l1 = &l1[l1index & Ln_ADDR_MASK];
} else {
phys = PTE_TO_PHYS(pmap_load(l0));
- l1 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l1 = PHYS_TO_DMAP(phys);
l1 = &l1[l1index & Ln_ADDR_MASK];
if (pmap_load(l1) == 0) {
/* Recurse to allocate the L2 page. */
@@ -1810,7 +1810,7 @@ _pmap_alloc_l3(pmap_t pmap, vm_pindex_t ptepindex, struct rwlock **lockp)
}
phys = PTE_TO_PHYS(pmap_load(l1));
- l2 = (pd_entry_t *)PHYS_TO_DMAP(phys);
+ l2 = PHYS_TO_DMAP(phys);
l2 = &l2[ptepindex & Ln_ADDR_MASK];
KASSERT((pmap_load(l2) & PTE_V) == 0,
("%s: L2 entry %#lx is valid", __func__, pmap_load(l2)));
@@ -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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
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 = (void *)PHYS_TO_DMAP(m->phys_addr);
+ pc = PHYS_TO_DMAP(m->phys_addr);
pc->pc_pmap = pmap;
pc->pc_map[0] = PC_FREEN;
pc->pc_map[1] = PC_FREEN;
@@ -2491,7 +2491,7 @@ pmap_remove_kernel_l2(pmap_t pmap, pt_entry_t *l2, vm_offset_t va)
* contains valid mappings. Zero it to invalidate those mappings.
*/
if (vm_page_any_valid(ml3))
- pagezero((void *)PHYS_TO_DMAP(ml3pa));
+ pagezero(PHYS_TO_DMAP(ml3pa));
/*
* Demote the mapping.
@@ -2988,7 +2988,7 @@ pmap_demote_l1(pmap_t pmap, pd_entry_t *l1, vm_offset_t va)
}
l2phys = VM_PAGE_TO_PHYS(m);
- l2 = (pt_entry_t *)PHYS_TO_DMAP(l2phys);
+ l2 = PHYS_TO_DMAP(l2phys);
/*
* Create new entries, relying on the fact that only the low bits
@@ -3069,7 +3069,7 @@ pmap_demote_l2_locked(pmap_t pmap, pd_entry_t *l2, vm_offset_t va,
}
}
mptepa = VM_PAGE_TO_PHYS(mpte);
- firstl3 = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
+ firstl3 = PHYS_TO_DMAP(mptepa);
newl2 = ((mptepa / PAGE_SIZE) << PTE_PPN0_S) | PTE_V;
KASSERT((oldl2 & PTE_A) != 0,
("pmap_demote_l2_locked: oldl2 is missing PTE_A"));
@@ -3144,7 +3144,7 @@ pmap_promote_l2(pmap_t pmap, pd_entry_t *l2, vm_offset_t va, vm_page_t ml3,
* ineligible for promotion or does not map the first 4KB physical page
* within a 2MB page.
*/
- firstl3 = (pt_entry_t *)PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l2)));
+ firstl3 = PHYS_TO_DMAP(PTE_TO_PHYS(pmap_load(l2)));
firstl3e = pmap_load(firstl3);
pa = PTE_TO_PHYS(firstl3e);
if ((pa & L2_OFFSET) != 0) {
@@ -3544,7 +3544,7 @@ pmap_every_pte_zero(vm_paddr_t pa)
pt_entry_t *pt_end, *pte;
KASSERT((pa & PAGE_MASK) == 0, ("pa is misaligned"));
- pte = (pt_entry_t *)PHYS_TO_DMAP(pa);
+ pte = PHYS_TO_DMAP(pa);
for (pt_end = pte + Ln_ENTRIES; pte < pt_end; pte++) {
if (*pte != 0)
return (false);
@@ -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 = (pd_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(l2pg));
+ l2 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(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 = (pt_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
+ l3 = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mpte));
l3 = &l3[pmap_l3_index(va)];
} else {
mpte = NULL;
@@ -4032,9 +4032,9 @@ 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)
{
- vm_offset_t va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
- pagezero((void *)va);
+ pagezero(va);
}
/*
@@ -4046,10 +4046,10 @@ pmap_zero_page(vm_page_t m)
void
pmap_zero_page_area(vm_page_t m, int off, int size)
{
- vm_offset_t va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
+ void *va = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m));
if (off == 0 && size == PAGE_SIZE)
- pagezero((void *)va);
+ pagezero(va);
else
bzero((char *)va + off, size);
}
@@ -4063,10 +4063,10 @@ pmap_zero_page_area(vm_page_t m, int off, int size)
void
pmap_copy_page(vm_page_t msrc, vm_page_t mdst)
{
- vm_offset_t src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
- vm_offset_t dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
+ void *src = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(msrc));
+ void *dst = PHYS_TO_DMAP(VM_PAGE_TO_PHYS(mdst));
- pagecopy((void *)src, (void *)dst);
+ pagecopy(src, dst);
}
int unmapped_buf_allowed = 1;
@@ -4111,7 +4111,7 @@ void *
pmap_quick_enter_page(vm_page_t m)
{
- return ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)));
}
void
@@ -4903,7 +4903,7 @@ void *
pmap_mapbios(vm_paddr_t pa, vm_size_t size)
{
- return ((void *)PHYS_TO_DMAP(pa));
+ return (PHYS_TO_DMAP(pa));
}
void
@@ -4928,7 +4928,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((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
+ pmap_change_attr(PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m)), PAGE_SIZE,
m->md.pv_memattr) != 0)
panic("memory attribute change on the direct map failed");
}
@@ -5062,7 +5062,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode)
phys = L1PTE_TO_PHYS(l1e);
if (!VIRT_IN_DMAP(tmpva) && PHYS_IN_DMAP(phys)) {
error = pmap_change_attr_locked(
- (void *)PHYS_TO_DMAP(phys), L1_SIZE, mode);
+ PHYS_TO_DMAP(phys), L1_SIZE, mode);
if (error != 0)
break;
}
@@ -5088,7 +5088,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode)
phys = L2PTE_TO_PHYS(l2e);
if (!VIRT_IN_DMAP(tmpva) && PHYS_IN_DMAP(phys)) {
error = pmap_change_attr_locked(
- (void *)PHYS_TO_DMAP(phys), L2_SIZE, mode);
+ PHYS_TO_DMAP(phys), L2_SIZE, mode);
if (error != 0)
break;
}
@@ -5112,7 +5112,7 @@ pmap_change_attr_locked(void *addr, vm_size_t size, int mode)
phys = PTE_TO_PHYS(l3e);
if (!VIRT_IN_DMAP(tmpva) && PHYS_IN_DMAP(phys)) {
- error = pmap_change_attr_locked((void *)PHYS_TO_DMAP(phys),
+ error = pmap_change_attr_locked(PHYS_TO_DMAP(phys),
L3_SIZE, mode);
if (error != 0)
break;
@@ -5323,7 +5323,7 @@ pmap_map_io_transient(vm_page_t page[], void *vaddr[], int count,
vaddr[i] = (void *)addr;
needs_mapping = true;
} else {
- vaddr[i] = (void *)PHYS_TO_DMAP(paddr);
+ vaddr[i] = PHYS_TO_DMAP(paddr);
}
}
@@ -5558,7 +5558,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
continue;
}
pa = PTE_TO_PHYS(l1e);
- l2 = (pd_entry_t *)PHYS_TO_DMAP(pa);
+ l2 = PHYS_TO_DMAP(pa);
for (j = pmap_l2_index(sva); j < Ln_ENTRIES; j++) {
l2e = l2[j];
@@ -5574,7 +5574,7 @@ sysctl_kmaps(SYSCTL_HANDLER_ARGS)
continue;
}
pa = PTE_TO_PHYS(l2e);
- l3 = (pd_entry_t *)PHYS_TO_DMAP(pa);
+ l3 = PHYS_TO_DMAP(pa);
for (k = pmap_l3_index(sva); k < Ln_ENTRIES; k++,
sva += L3_SIZE) {
diff --git a/sys/sys/efi.h b/sys/sys/efi.h
index b76ca4918f81..72c5bccd810b 100644
--- a/sys/sys/efi.h
+++ b/sys/sys/efi.h
@@ -265,7 +265,7 @@ struct efirt_callinfo;
/* Internal MD EFI functions */
int efi_arch_enter(void);
void efi_arch_leave(void);
-vm_offset_t efi_phys_to_kva(vm_paddr_t);
+void *efi_phys_to_kva(vm_paddr_t);
int efi_rt_arch_call(struct efirt_callinfo *);
bool efi_create_1t1_map(struct efi_md *, int, int);
void efi_destroy_1t1_map(void);
diff --git a/sys/sys/sf_buf.h b/sys/sys/sf_buf.h
index b11170d1fd5d..b03615237110 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 ((void *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
+ return (PHYS_TO_DMAP(VM_PAGE_TO_PHYS((vm_page_t)sf)));
return ((void *)sf->kva);
}
diff --git a/sys/vm/uma_core.c b/sys/vm/uma_core.c
index 5342d8ccd217..8070db40c06d 100644
--- a/sys/vm/uma_core.c
+++ b/sys/vm/uma_core.c
@@ -2094,7 +2094,7 @@ uma_small_alloc(uma_zone_t zone, vm_size_t bytes, int domain, uint8_t *flags,
pa = m->phys_addr;
if ((wait & M_NODUMP) == 0)
dump_add_page(pa);
- va = (void *)PHYS_TO_DMAP(pa);
+ va = PHYS_TO_DMAP(pa);
return (va);
}
#endif