summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-04-13 19:20:32 +0000
committerkib <kib@FreeBSD.org>2009-04-13 19:20:32 +0000
commit9c0149c14794109777f097eb3d37b808101b5c4b (patch)
tree5366f58d541bcca64e4264204450c39fe815c819 /sys/ia64
parente2e8e48cde73d615a1a7f82c22f4da78d3c35756 (diff)
downloadFreeBSD-src-9c0149c14794109777f097eb3d37b808101b5c4b.zip
FreeBSD-src-9c0149c14794109777f097eb3d37b808101b5c4b.tar.gz
The bus_dmamap_load_uio(9) shall use pmap of the thread recorded in the
uio_td to extract pages from, instead of unconditionally use kernel pmap. Submitted by: Jason Harmening <jason.harmening gmail com> (amd64 version) PR: amd64/133592 Reviewed by: scottl (original patch), jhb MFC after: 2 weeks
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/busdma_machdep.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/ia64/ia64/busdma_machdep.c b/sys/ia64/ia64/busdma_machdep.c
index 659db52..609a8a9 100644
--- a/sys/ia64/ia64/busdma_machdep.c
+++ b/sys/ia64/ia64/busdma_machdep.c
@@ -527,7 +527,10 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
vendaddr = (vm_offset_t)buf + buflen;
while (vaddr < vendaddr) {
- paddr = pmap_kextract(vaddr);
+ if (pmap != NULL)
+ paddr = pmap_extract(pmap, vaddr);
+ else
+ paddr = pmap_kextract(vaddr);
if (run_filter(dmat, paddr, 0) != 0)
map->pagesneeded++;
vaddr += PAGE_SIZE;
OpenPOWER on IntegriCloud