diff options
author | jake <jake@FreeBSD.org> | 2002-12-21 10:44:30 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2002-12-21 10:44:30 +0000 |
commit | 74619d7495a813ca5a3dfc5f280215216b5b526e (patch) | |
tree | 60bade983a5e308f9e4ddf6e8cabe7d94250bc68 | |
parent | c6a59dac98550cddc0b5160b22279fcdd5800708 (diff) | |
download | FreeBSD-src-74619d7495a813ca5a3dfc5f280215216b5b526e.zip FreeBSD-src-74619d7495a813ca5a3dfc5f280215216b5b526e.tar.gz |
Make pmap_qenter and pmap_qremove look more like the other pmaps.
-rw-r--r-- | sys/sparc64/sparc64/pmap.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/sys/sparc64/sparc64/pmap.c b/sys/sparc64/sparc64/pmap.c index c3d27f5..3e29af7 100644 --- a/sys/sparc64/sparc64/pmap.c +++ b/sys/sparc64/sparc64/pmap.c @@ -935,12 +935,14 @@ void pmap_qenter(vm_offset_t sva, vm_page_t *m, int count) { vm_offset_t va; - int i; va = sva; - for (i = 0; i < count; i++, va += PAGE_SIZE) - pmap_kenter(va, VM_PAGE_TO_PHYS(m[i])); - tlb_range_demap(kernel_pmap, sva, sva + (count * PAGE_SIZE) - 1); + while (count-- > 0) { + pmap_kenter(va, VM_PAGE_TO_PHYS(*m)); + va += PAGE_SIZE; + m++; + } + tlb_range_demap(kernel_pmap, sva, va); } /* @@ -951,12 +953,13 @@ void pmap_qremove(vm_offset_t sva, int count) { vm_offset_t va; - int i; va = sva; - for (i = 0; i < count; i++, va += PAGE_SIZE) + while (count-- > 0) { pmap_kremove(va); - tlb_range_demap(kernel_pmap, sva, sva + (count * PAGE_SIZE) - 1); + va += PAGE_SIZE; + } + tlb_range_demap(kernel_pmap, sva, va); } #ifndef KSTACK_MAX_PAGES |