Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Apr 2026 18:16:08 +0000
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: fe9f0b18bf6a - main - busdma: Use char * instead of vm_offset_t for bounce page kernel pointers
Message-ID:  <69ea61e8.46e01.b303182@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by jhb:

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

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

    busdma: Use char * instead of vm_offset_t for bounce page kernel pointers
    
    Effort:         CHERI upstreaming
    Reviewed by:    kib
    Sponsored by:   AFRL, DARPA
    Pull Request:   https://github.com/freebsd/freebsd-src/pull/2068
---
 sys/arm/arm/busdma_machdep.c         | 18 ++++++++----------
 sys/arm64/arm64/busdma_bounce.c      | 18 ++++++++----------
 sys/kern/subr_busdma_bounce.c        | 30 +++++++++++++++---------------
 sys/powerpc/powerpc/busdma_machdep.c | 20 +++++++++-----------
 sys/riscv/riscv/busdma_bounce.c      | 18 ++++++++----------
 sys/x86/x86/busdma_bounce.c          | 26 +++++++++++---------------
 6 files changed, 59 insertions(+), 71 deletions(-)

diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c
index 3c65cb8ebbf4..81b8b4a2883a 100644
--- a/sys/arm/arm/busdma_machdep.c
+++ b/sys/arm/arm/busdma_machdep.c
@@ -1002,7 +1002,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 
 		if (map->pagesneeded != 0 && must_bounce(dmat, map, curaddr,
 		    sgsize)) {
-			curaddr = add_bounce_page(dmat, map, (vm_offset_t)kvaddr, curaddr,
+			curaddr = add_bounce_page(dmat, map, kvaddr, curaddr,
 			    sgsize);
 		} else if ((dmat->flags & BUS_DMA_COHERENT) == 0) {
 			if (map->sync_count > 0) {
@@ -1199,18 +1199,17 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 		if (op & BUS_DMASYNC_PREWRITE) {
 			while (bpage != NULL) {
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
-				bcopy(datavaddr, (void *)bpage->vaddr,
-				    bpage->datacount);
+				bcopy(datavaddr, bpage->vaddr, bpage->datacount);
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
 				if ((dmat->flags & BUS_DMA_COHERENT) == 0)
-					dcache_wb_poc(bpage->vaddr,
+					dcache_wb_poc((vm_offset_t)bpage->vaddr,
 					    bpage->busaddr, bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -1232,7 +1231,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 			bpage = STAILQ_FIRST(&map->bpages);
 			while (bpage != NULL) {
 				if ((dmat->flags & BUS_DMA_COHERENT) == 0)
-					dcache_inv_poc_dma(bpage->vaddr,
+					dcache_inv_poc_dma((vm_offset_t)bpage->vaddr,
 					    bpage->busaddr, bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -1250,17 +1249,16 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 		if (op & BUS_DMASYNC_POSTREAD) {
 			while (bpage != NULL) {
 				if ((dmat->flags & BUS_DMA_COHERENT) == 0)
-					dcache_inv_poc(bpage->vaddr,
+					dcache_inv_poc((vm_offset_t)bpage->vaddr,
 					    bpage->busaddr, bpage->datacount);
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
-				bcopy((void *)bpage->vaddr, datavaddr,
-				    bpage->datacount);
+				bcopy(bpage->vaddr, datavaddr, bpage->datacount);
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
 				bpage = STAILQ_NEXT(bpage, links);
diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c
index ad46e26e406f..74fa611e6d1a 100644
--- a/sys/arm64/arm64/busdma_bounce.c
+++ b/sys/arm64/arm64/busdma_bounce.c
@@ -868,7 +868,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 			KASSERT(dmat->common.alignment <= PAGE_SIZE,
 			    ("bounced buffer cannot have alignment bigger "
 			    "than PAGE_SIZE: %lu", dmat->common.alignment));
-			curaddr = add_bounce_page(dmat, map, (vm_offset_t)kvaddr, curaddr,
+			curaddr = add_bounce_page(dmat, map, kvaddr, curaddr,
 			    sgsize);
 		} else if ((map->flags & DMAMAP_COHERENT) == 0) {
 			if (map->sync_count > 0) {
@@ -1047,19 +1047,18 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		if ((op & BUS_DMASYNC_PREWRITE) != 0) {
 			while (bpage != NULL) {
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
 
-				bcopy(datavaddr,
-				    (void *)bpage->vaddr, bpage->datacount);
+				bcopy(datavaddr, bpage->vaddr, bpage->datacount);
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
 				if ((map->flags & DMAMAP_COHERENT) == 0)
-					cpu_dcache_wb_range((void *)bpage->vaddr,
+					cpu_dcache_wb_range(bpage->vaddr,
 					    bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -1067,7 +1066,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		} else if ((op & BUS_DMASYNC_PREREAD) != 0) {
 			while (bpage != NULL) {
 				if ((map->flags & DMAMAP_COHERENT) == 0)
-					cpu_dcache_wbinv_range((void *)bpage->vaddr,
+					cpu_dcache_wbinv_range(bpage->vaddr,
 					    bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -1076,18 +1075,17 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		if ((op & BUS_DMASYNC_POSTREAD) != 0) {
 			while (bpage != NULL) {
 				if ((map->flags & DMAMAP_COHERENT) == 0)
-					cpu_dcache_inv_range((void *)bpage->vaddr,
+					cpu_dcache_inv_range(bpage->vaddr,
 					    bpage->datacount);
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
 
-				bcopy((void *)bpage->vaddr,
-				    datavaddr, bpage->datacount);
+				bcopy(bpage->vaddr, datavaddr, bpage->datacount);
 
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
diff --git a/sys/kern/subr_busdma_bounce.c b/sys/kern/subr_busdma_bounce.c
index 60fe2fc6b2a6..2774128a1ae5 100644
--- a/sys/kern/subr_busdma_bounce.c
+++ b/sys/kern/subr_busdma_bounce.c
@@ -49,9 +49,9 @@
 #include <sys/sched.h>
 
 struct bounce_page {
-	vm_offset_t	vaddr;		/* kva of bounce buffer */
+	char		*vaddr;		/* kva of bounce buffer */
 	bus_addr_t	busaddr;	/* Physical address */
-	vm_offset_t	datavaddr;	/* kva of client data */
+	char		*datavaddr;	/* kva of client data */
 #if defined(__amd64__) || defined(__i386__)
 	vm_page_t	datapage[2];	/* physical page(s) of client data */
 #else
@@ -282,18 +282,18 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u_int numpages)
 		if (bpage == NULL)
 			break;
 #ifdef dmat_domain
-		bpage->vaddr = (vm_offset_t)contigmalloc_domainset(PAGE_SIZE,
+		bpage->vaddr = contigmalloc_domainset(PAGE_SIZE,
 		    M_BOUNCE, DOMAINSET_PREF(bz->domain), M_NOWAIT,
 		    0ul, bz->lowaddr, PAGE_SIZE, 0);
 #else
-		bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_BOUNCE,
+		bpage->vaddr = contigmalloc(PAGE_SIZE, M_BOUNCE,
 		    M_NOWAIT, 0ul, bz->lowaddr, PAGE_SIZE, 0);
 #endif
-		if (bpage->vaddr == 0) {
+		if (bpage->vaddr == NULL) {
 			free(bpage, M_BUSDMA);
 			break;
 		}
-		bpage->busaddr = pmap_kextract(bpage->vaddr);
+		bpage->busaddr = pmap_kextract((vm_offset_t)bpage->vaddr);
 		mtx_lock(&bounce_lock);
 		STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links);
 		total_bpages++;
@@ -327,11 +327,11 @@ reserve_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t map, int commit)
 
 #if defined(__amd64__) || defined(__i386__)
 static bus_addr_t
-add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
+add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr,
     vm_paddr_t addr1, vm_paddr_t addr2, bus_size_t size)
 #else
 static bus_addr_t
-add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
+add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, void *vaddr,
     bus_addr_t addr, bus_size_t size)
 #endif
 {
@@ -370,13 +370,13 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
 	if (dmat_flags(dmat) & BUS_DMA_KEEP_PG_OFFSET) {
 		/* Page offset needs to be preserved. */
 #if defined(__amd64__) || defined(__i386__)
-		bpage->vaddr |= addr1 & PAGE_MASK;
-		bpage->busaddr |= addr1 & PAGE_MASK;
+		bpage->vaddr += addr1 & PAGE_MASK;
+		bpage->busaddr += addr1 & PAGE_MASK;
 		KASSERT(addr2 == 0,
 	    ("Trying to bounce multiple pages with BUS_DMA_KEEP_PG_OFFSET"));
 #else
-		bpage->vaddr |= addr & PAGE_MASK;
-		bpage->busaddr |= addr & PAGE_MASK;
+		bpage->vaddr += addr & PAGE_MASK;
+		bpage->busaddr += addr & PAGE_MASK;
 #endif
 	}
 	bpage->datavaddr = vaddr;
@@ -409,7 +409,7 @@ free_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t map)
 	count = 0;
 	schedule_thread = false;
 	STAILQ_FOREACH(bpage, &map->bpages, links) {
-		bpage->datavaddr = 0;
+		bpage->datavaddr = NULL;
 		bpage->datacount = 0;
 
 		if (dmat_flags(dmat) & BUS_DMA_KEEP_PG_OFFSET) {
@@ -419,8 +419,8 @@ free_bounce_pages(bus_dma_tag_t dmat, bus_dmamap_t map)
 			 * store a full page of data and/or assume it
 			 * starts on a page boundary.
 			 */
-			bpage->vaddr &= ~PAGE_MASK;
-			bpage->busaddr &= ~PAGE_MASK;
+			bpage->vaddr = trunc_page(bpage->vaddr);
+			bpage->busaddr = trunc_page(bpage->busaddr);
 		}
 		count++;
 	}
diff --git a/sys/powerpc/powerpc/busdma_machdep.c b/sys/powerpc/powerpc/busdma_machdep.c
index 56feffde8b37..7fe2fd4ff986 100644
--- a/sys/powerpc/powerpc/busdma_machdep.c
+++ b/sys/powerpc/powerpc/busdma_machdep.c
@@ -613,7 +613,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 {
 	bus_size_t sgsize;
 	bus_addr_t curaddr;
-	vm_offset_t kvaddr, vaddr;
+	char *kvaddr, *vaddr;
 	int error;
 
 	if (segs == NULL)
@@ -628,18 +628,18 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
 		}
 	}
 
-	vaddr = (vm_offset_t)buf;
+	vaddr = buf;
 
 	while (buflen > 0) {
 		/*
 		 * Get the physical address for this segment.
 		 */
 		if (pmap == kernel_pmap) {
-			curaddr = pmap_kextract(vaddr);
+			curaddr = pmap_kextract((vm_offset_t)vaddr);
 			kvaddr = vaddr;
 		} else {
-			curaddr = pmap_extract(pmap, vaddr);
-			kvaddr = 0;
+			curaddr = pmap_extract(pmap, (vm_offset_t)vaddr);
+			kvaddr = NULL;
 		}
 
 		/*
@@ -733,7 +733,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 		if (op & BUS_DMASYNC_PREWRITE) {
 			while (bpage != NULL) {
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
@@ -741,8 +741,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 					    bpage->dataoffs;
 				}
 
-				bcopy(datavaddr,
-				    (void *)bpage->vaddr, bpage->datacount);
+				bcopy(datavaddr, bpage->vaddr, bpage->datacount);
 
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
@@ -754,7 +753,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 		if (op & BUS_DMASYNC_POSTREAD) {
 			while (bpage != NULL) {
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
@@ -762,8 +761,7 @@ bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
 					    bpage->dataoffs;
 				}
 
-				bcopy((void *)bpage->vaddr,
-				    datavaddr, bpage->datacount);
+				bcopy(bpage->vaddr, datavaddr, bpage->datacount);
 
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
diff --git a/sys/riscv/riscv/busdma_bounce.c b/sys/riscv/riscv/busdma_bounce.c
index 0f2d592f4e52..452cead3c6b6 100644
--- a/sys/riscv/riscv/busdma_bounce.c
+++ b/sys/riscv/riscv/busdma_bounce.c
@@ -673,7 +673,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 		    addr_needs_bounce(dmat, curaddr)) {
 			sgsize = roundup2(sgsize, dmat->common.alignment);
 			sgsize = MIN(sgsize, buflen);
-			curaddr = add_bounce_page(dmat, map, (vm_offset_t)kvaddr, curaddr,
+			curaddr = add_bounce_page(dmat, map, kvaddr, curaddr,
 			    sgsize);
 		} else if ((dmat->bounce_flags & BF_COHERENT) == 0) {
 			if (map->sync_count > 0) {
@@ -850,19 +850,18 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		if ((op & BUS_DMASYNC_PREWRITE) != 0) {
 			while (bpage != NULL) {
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
 
-				bcopy(datavaddr,
-				    (void *)bpage->vaddr, bpage->datacount);
+				bcopy(datavaddr, bpage->vaddr, bpage->datacount);
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
 				if ((dmat->bounce_flags & BF_COHERENT) == 0)
-					cpu_dcache_wb_range(bpage->vaddr,
+					cpu_dcache_wb_range((vm_offset_t)bpage->vaddr,
 					    bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -870,7 +869,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		} else if ((op & BUS_DMASYNC_PREREAD) != 0) {
 			while (bpage != NULL) {
 				if ((dmat->bounce_flags & BF_COHERENT) == 0)
-					cpu_dcache_wbinv_range(bpage->vaddr,
+					cpu_dcache_wbinv_range((vm_offset_t)bpage->vaddr,
 					    bpage->datacount);
 				bpage = STAILQ_NEXT(bpage, links);
 			}
@@ -879,18 +878,17 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 		if ((op & BUS_DMASYNC_POSTREAD) != 0) {
 			while (bpage != NULL) {
 				if ((dmat->bounce_flags & BF_COHERENT) == 0)
-					cpu_dcache_inv_range(bpage->vaddr,
+					cpu_dcache_inv_range((vm_offset_t)bpage->vaddr,
 					    bpage->datacount);
 				tempvaddr = NULL;
-				datavaddr = (void *)bpage->datavaddr;
+				datavaddr = bpage->datavaddr;
 				if (datavaddr == NULL) {
 					tempvaddr = pmap_quick_enter_page(
 					    bpage->datapage);
 					datavaddr = tempvaddr + bpage->dataoffs;
 				}
 
-				bcopy((void *)bpage->vaddr,
-				    datavaddr, bpage->datacount);
+				bcopy(bpage->vaddr, datavaddr, bpage->datacount);
 
 				if (tempvaddr != NULL)
 					pmap_quick_remove_page(tempvaddr);
diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c
index bc48c60448da..bd700d4d55be 100644
--- a/sys/x86/x86/busdma_bounce.c
+++ b/sys/x86/x86/busdma_bounce.c
@@ -687,7 +687,7 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 {
 	bus_size_t sgsize;
 	vm_paddr_t curaddr;
-	vm_offset_t kvaddr, vaddr;
+	char *kvaddr, *vaddr;
 	int error;
 
 	if (map == NULL)
@@ -705,17 +705,17 @@ bounce_bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
 		}
 	}
 
-	vaddr = (vm_offset_t)buf;
+	vaddr = buf;
 	while (buflen > 0) {
 		/*
 		 * Get the physical address for this segment.
 		 */
 		if (pmap == kernel_pmap) {
-			curaddr = pmap_kextract(vaddr);
+			curaddr = pmap_kextract((vm_offset_t)vaddr);
 			kvaddr = vaddr;
 		} else {
-			curaddr = pmap_extract(pmap, vaddr);
-			kvaddr = 0;
+			curaddr = pmap_extract(pmap, (vm_offset_t)vaddr);
+			kvaddr = NULL;
 		}
 
 		/*
@@ -879,7 +879,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 	if ((op & BUS_DMASYNC_PREWRITE) != 0) {
 		while (bpage != NULL) {
 			tempvaddr = NULL;
-			datavaddr = (void *)bpage->datavaddr;
+			datavaddr = bpage->datavaddr;
 			datacount1 = bpage->datacount;
 			if (datavaddr == NULL) {
 				tempvaddr =
@@ -889,8 +889,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 				    datacount1);
 			}
 
-			bcopy(datavaddr,
-			    (void *)bpage->vaddr, datacount1);
+			bcopy(datavaddr, bpage->vaddr, datacount1);
 
 			if (tempvaddr != NULL)
 				pmap_quick_remove_page(tempvaddr);
@@ -907,8 +906,7 @@ bounce_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map,
 			 */
 			datavaddr = pmap_quick_enter_page(bpage->datapage[1]);
 			datacount2 = bpage->datacount - datacount1;
-			bcopy(datavaddr,
-			    (void *)(bpage->vaddr + datacount1), datacount2);
+			bcopy(datavaddr, bpage->vaddr + datacount1, datacount2);
 			pmap_quick_remove_page(datavaddr);
 
 next_w:
@@ -920,7 +918,7 @@ next_w:
 	if ((op & BUS_DMASYNC_POSTREAD) != 0) {
 		while (bpage != NULL) {
 			tempvaddr = NULL;
-			datavaddr = (void *)bpage->datavaddr;
+			datavaddr = bpage->datavaddr;
 			datacount1 = bpage->datacount;
 			if (datavaddr == NULL) {
 				tempvaddr =
@@ -930,8 +928,7 @@ next_w:
 				    datacount1);
 			}
 
-			bcopy((void *)bpage->vaddr, datavaddr,
-			    datacount1);
+			bcopy(bpage->vaddr, datavaddr, datacount1);
 
 			if (tempvaddr != NULL)
 				pmap_quick_remove_page(tempvaddr);
@@ -948,8 +945,7 @@ next_w:
 			 */
 			datavaddr = pmap_quick_enter_page(bpage->datapage[1]);
 			datacount2 = bpage->datacount - datacount1;
-			bcopy((void *)(bpage->vaddr + datacount1),
-			    datavaddr, datacount2);
+			bcopy(bpage->vaddr + datacount1, datavaddr, datacount2);
 			pmap_quick_remove_page(datavaddr);
 
 next_r:


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69ea61e8.46e01.b303182>