aboutsummaryrefslogtreecommitdiff
path: root/sys/arm
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
commite27501388fc0dc2a29f90cb24ba8d36e9bb6631f (patch)
treebdabef7c7e09ab92e77860922eaf7bd2b7df7840 /sys/arm
parentec3a0b2a02ee2aa459aa72d751f6670b7f813f31 (diff)
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/mem.c2
-rw-r--r--sys/arm/arm/pmap-v6.c15
-rw-r--r--sys/arm/include/sf_buf.h4
-rw-r--r--sys/arm/nvidia/drm2/tegra_bo.c4
4 files changed, 13 insertions, 12 deletions
diff --git a/sys/arm/arm/mem.c b/sys/arm/arm/mem.c
index cec253f60b51..fbfd0759efc0 100644
--- a/sys/arm/arm/mem.c
+++ b/sys/arm/arm/mem.c
@@ -121,7 +121,7 @@ memrw(struct cdev *dev, struct uio *uio, int flags)
c = min(c, (u_int)(PAGE_SIZE - o));
c = min(c, (u_int)iov->iov_len);
error = uiomove((caddr_t)&_tmppt[o], (int)c, uio);
- pmap_qremove((vm_offset_t)_tmppt, 1);
+ pmap_qremove(_tmppt, 1);
sx_xunlock(&tmppt_lock);
continue;
}
diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c
index a87e9ead64cd..5fe3d701e7ed 100644
--- a/sys/arm/arm/pmap-v6.c
+++ b/sys/arm/arm/pmap-v6.c
@@ -1819,8 +1819,9 @@ pmap_init(void)
* Note: SMP coherent. Uses a ranged shootdown IPI.
*/
void
-pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count)
+pmap_qenter(void *va, vm_page_t *ma, int count)
{
+ vm_offset_t sva = (vm_offset_t)va;
u_int anychanged;
pt2_entry_t *epte2p, *pte2p, pte2;
vm_page_t m;
@@ -1851,16 +1852,16 @@ pmap_qenter(vm_offset_t sva, vm_page_t *ma, int count)
* Note: SMP coherent. Uses a ranged shootdown IPI.
*/
void
-pmap_qremove(vm_offset_t sva, int count)
+pmap_qremove(void *sva, int count)
{
vm_offset_t va;
- va = sva;
+ va = (vm_offset_t)sva;
while (count-- > 0) {
pmap_kremove(va);
va += PAGE_SIZE;
}
- tlb_flush_range(sva, va - sva);
+ tlb_flush_range((vm_offset_t)sva, va - (vm_offset_t)sva);
}
/*
@@ -2946,7 +2947,7 @@ pmap_pv_reclaim(pmap_t locked_pmap)
PV_STAT(pc_chunk_frees++);
/* Entire chunk is free; return it. */
m_pc = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc));
- pmap_qremove((vm_offset_t)pc, 1);
+ pmap_qremove(pc, 1);
pmap_pte2list_free(&pv_vafree, (vm_offset_t)pc);
break;
}
@@ -2979,7 +2980,7 @@ free_pv_chunk(struct pv_chunk *pc)
PV_STAT(pc_chunk_frees++);
/* entire chunk is free, return it */
m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc));
- pmap_qremove((vm_offset_t)pc, 1);
+ pmap_qremove(pc, 1);
vm_page_unwire_noq(m);
vm_page_free(m);
pmap_pte2list_free(&pv_vafree, (vm_offset_t)pc);
@@ -3088,7 +3089,7 @@ retry:
PV_STAT(pc_chunk_count++);
PV_STAT(pc_chunk_allocs++);
pc = (struct pv_chunk *)pmap_pte2list_alloc(&pv_vafree);
- pmap_qenter((vm_offset_t)pc, &m, 1);
+ pmap_qenter(pc, &m, 1);
pc->pc_pmap = pmap;
pc->pc_map[0] = pc_freemask[0] & ~1ul; /* preallocated bit 0 */
for (field = 1; field < _NPCM; field++)
diff --git a/sys/arm/include/sf_buf.h b/sys/arm/include/sf_buf.h
index 2aa8ee3789c9..1e4066d58c81 100644
--- a/sys/arm/include/sf_buf.h
+++ b/sys/arm/include/sf_buf.h
@@ -33,14 +33,14 @@ static inline void
sf_buf_map(struct sf_buf *sf, int flags)
{
- pmap_qenter(sf->kva, &(sf->m), 1);
+ pmap_qenter((void *)sf->kva, &(sf->m), 1);
}
static inline int
sf_buf_unmap(struct sf_buf *sf)
{
- pmap_qremove(sf->kva, 1);
+ pmap_qremove((void *)sf->kva, 1);
return (1);
}
#endif /* !_MACHINE_SF_BUF_H_ */
diff --git a/sys/arm/nvidia/drm2/tegra_bo.c b/sys/arm/nvidia/drm2/tegra_bo.c
index 73ba82f2f883..c173936556ed 100644
--- a/sys/arm/nvidia/drm2/tegra_bo.c
+++ b/sys/arm/nvidia/drm2/tegra_bo.c
@@ -58,7 +58,7 @@ tegra_bo_destruct(struct tegra_bo *bo)
size = round_page(bo->gem_obj.size);
if (bo->vbase != 0)
- pmap_qremove(bo->vbase, bo->npages);
+ pmap_qremove((void *)bo->vbase, bo->npages);
vm_page_iter_init(&pages, bo->cdev_pager);
VM_OBJECT_WLOCK(bo->cdev_pager);
@@ -166,7 +166,7 @@ tegra_bo_init_pager(struct tegra_bo *bo)
}
VM_OBJECT_WUNLOCK(bo->cdev_pager);
- pmap_qenter(bo->vbase, bo->m, bo->npages);
+ pmap_qenter((void *)bo->vbase, bo->m, bo->npages);
return (0);
}