aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorMaxime Henrion <mux@FreeBSD.org>2003-02-25 03:21:22 +0000
committerMaxime Henrion <mux@FreeBSD.org>2003-02-25 03:21:22 +0000
commit07159f9c56de91cb7d7bd6b6a795eebfee78133e (patch)
treea4ad6d456fdd984cdf9c6c6abd5e4654a9b7e3e0 /sys/vm
parentedf02ff15d952524ebf102c65a7b23e716259fe5 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/device_pager.c14
-rw-r--r--sys/vm/pmap.h1
2 files changed, 7 insertions, 8 deletions
diff --git a/sys/vm/device_pager.c b/sys/vm/device_pager.c
index e7acedcdbfb10..85f29aeb67955 100644
--- a/sys/vm/device_pager.c
+++ b/sys/vm/device_pager.c
@@ -107,7 +107,7 @@ dev_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot, vm_ooffset_t fo
d_mmap_t *mapfunc;
vm_object_t object;
unsigned int npages;
- vm_offset_t off;
+ vm_offset_t off, paddr;
/*
* Offset should be page aligned.
@@ -137,7 +137,7 @@ dev_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot, vm_ooffset_t fo
*/
npages = OFF_TO_IDX(size);
for (off = foff; npages--; off += PAGE_SIZE)
- if ((*mapfunc)(dev, off, (int) prot) == -1) {
+ if ((*mapfunc)(dev, off, &paddr, (int)prot) != 0) {
mtx_unlock(&Giant);
return (NULL);
}
@@ -205,7 +205,7 @@ dev_pager_getpages(object, m, count, reqpage)
vm_offset_t paddr;
vm_page_t page;
dev_t dev;
- int i;
+ int i, ret;
d_mmap_t *mapfunc;
int prot;
@@ -218,11 +218,11 @@ dev_pager_getpages(object, m, count, reqpage)
if (mapfunc == NULL || mapfunc == (d_mmap_t *)nullop)
panic("dev_pager_getpage: no map function");
- paddr = pmap_phys_address((*mapfunc) (dev, (vm_offset_t) offset << PAGE_SHIFT, prot));
- KASSERT(paddr != -1,("dev_pager_getpage: map function returns error"));
+ ret = (*mapfunc)(dev, (vm_offset_t)offset << PAGE_SHIFT, &paddr, prot);
+ KASSERT(ret == 0, ("dev_pager_getpage: map function returns error"));
/*
- * Replace the passed in reqpage page with our own fake page and free up the
- * all of the original pages.
+ * Replace the passed in reqpage page with our own fake page and
+ * free up the all of the original pages.
*/
page = dev_pager_getfake(paddr);
TAILQ_INSERT_TAIL(&object->un_pager.devp.devp_pglist, page, pageq);
diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h
index 20a5bd3ce41ed..a403f6f7335e7 100644
--- a/sys/vm/pmap.h
+++ b/sys/vm/pmap.h
@@ -119,7 +119,6 @@ void pmap_object_init_pt(pmap_t pmap, vm_offset_t addr,
int pagelimit);
boolean_t pmap_page_exists_quick(pmap_t pmap, vm_page_t m);
void pmap_page_protect(vm_page_t m, vm_prot_t prot);
-vm_offset_t pmap_phys_address(int);
void pmap_pinit(pmap_t);
void pmap_pinit0(pmap_t);
void pmap_pinit2(pmap_t);