[PATCH] use vtophys instead of pmap_kextract
Giovanni Trematerra
gianni at freebsd.org
Tue Oct 30 22:12:22 UTC 2012
Hi,
could you please review and commit the patch below?
The patch changes the calls to pmap_kextract in vtophys macro.
This also fixes a compiler warning when SMP is enabled to Marvel
ARMADA XP boards.
Thank you
--
Gianni
Index: sys/arm/arm/busdma_machdep-v6.c
===================================================================
--- sys/arm/arm/busdma_machdep-v6.c (revision 242212)
+++ sys/arm/arm/busdma_machdep-v6.c (working copy)
@@ -670,7 +670,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dm
while (vaddr < vendaddr) {
if (__predict_true(map->pmap == pmap_kernel()))
- paddr = pmap_kextract(vaddr);
+ paddr = vtophys(vaddr);
else
paddr = pmap_extract(map->pmap, vaddr);
if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) &&
@@ -748,7 +748,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
* Get the physical address for this segment.
*/
if (__predict_true(map->pmap == pmap_kernel()))
- curaddr = pmap_kextract(vaddr);
+ curaddr = vtophys(vaddr);
else
curaddr = pmap_extract(map->pmap, vaddr);
@@ -1424,7 +1424,7 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u_int numpa
free(bpage, M_DEVBUF);
break;
}
- bpage->busaddr = pmap_kextract(bpage->vaddr);
+ bpage->busaddr = vtophys(bpage->vaddr);
mtx_lock(&bounce_lock);
STAILQ_INSERT_TAIL(&bz->bounce_page_list, bpage, links);
total_bpages++;
Index: sys/arm/arm/busdma_machdep.c
===================================================================
--- sys/arm/arm/busdma_machdep.c (revision 242212)
+++ sys/arm/arm/busdma_machdep.c (working copy)
@@ -711,7 +711,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dm
while (vaddr < vendaddr) {
if (__predict_true(pmap == pmap_kernel()))
- paddr = pmap_kextract(vaddr);
+ paddr = vtophys(vaddr);
else
paddr = pmap_extract(pmap, vaddr);
if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) &&
@@ -1371,7 +1371,7 @@ alloc_bounce_pages(bus_dma_tag_t dmat, u_int numpa
free(bpage, M_DEVBUF);
break;
}
- bpage->busaddr = pmap_kextract(bpage->vaddr);
+ bpage->busaddr = vtophys(bpage->vaddr);
bpage->vaddr_nocache = (vm_offset_t)arm_remap_nocache(
(void *)bpage->vaddr, PAGE_SIZE);
mtx_lock(&bounce_lock);
Index: sys/arm/mv/armadaxp/armadaxp_mp.c
===================================================================
--- sys/arm/mv/armadaxp/armadaxp_mp.c (revision 242212)
+++ sys/arm/mv/armadaxp/armadaxp_mp.c (working copy)
@@ -179,7 +179,7 @@ platform_mp_start_ap(void)
for (cpu_num = 1; cpu_num < mp_ncpus; cpu_num++ )
bus_space_write_4(fdtbus_bs_tag, CPU_PMU(cpu_num), CPU_PMU_BOOT,
- pmap_kextract(mpentry));
+ vtophys(mpentry));
cpu_idcache_wbinv_all();
Index: sys/arm/ti/omap4/omap4_mp.c
===================================================================
--- sys/arm/ti/omap4/omap4_mp.c (revision 242379)
+++ sys/arm/ti/omap4/omap4_mp.c (working copy)
@@ -75,7 +75,7 @@ platform_mp_start_ap(void)
cpu_idcache_wbinv_all();
cpu_l2cache_wbinv_all();
ti_smc0(0x200, 0xfffffdff, MODIFY_AUX_CORE_0);
- ti_smc0(pmap_kextract((vm_offset_t)mpentry), 0, WRITE_AUX_CORE_1);
+ ti_smc0(vtophys(mpentry), 0, WRITE_AUX_CORE_1);
armv7_sev();
bus_space_unmap(fdtbus_bs_tag, scu_addr, 0x1000);
}
More information about the freebsd-arm
mailing list