From 4dcf28192318122523ef9316c81c73b98016d742 Mon Sep 17 00:00:00 2001 From: chs Date: Wed, 3 Oct 2001 09:40:12 +0000 Subject: [PATCH] use pmap_k{enter_pa,remove}() where appropriate. --- sys/arch/sparc/sparc/autoconf.c | 6 +++--- sys/arch/sparc/sparc/cpu.c | 6 ++---- sys/arch/sparc/sparc/iommu.c | 8 +++---- sys/arch/sparc/sparc/machdep.c | 37 ++++++++++++++------------------- 4 files changed, 24 insertions(+), 33 deletions(-) diff --git a/sys/arch/sparc/sparc/autoconf.c b/sys/arch/sparc/sparc/autoconf.c index 322222082b32..269c46c4cd1b 100644 --- a/sys/arch/sparc/sparc/autoconf.c +++ b/sys/arch/sparc/sparc/autoconf.c @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.154 2001/09/28 11:59:53 chs Exp $ */ +/* $NetBSD: autoconf.c,v 1.155 2001/10/03 09:40:12 chs Exp $ */ /* * Copyright (c) 1996 @@ -330,9 +330,9 @@ bootstrap() if (CPU_ISSUN4OR4C) { /* Map Interrupt Enable Register */ - pmap_enter(pmap_kernel(), INTRREG_VA, + pmap_kenter_pa(INTRREG_VA, INT_ENABLE_REG_PHYSADR | PMAP_NC | PMAP_OBIO, - VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED); + VM_PROT_READ | VM_PROT_WRITE); pmap_update(pmap_kernel()); /* Disable all interrupts */ *((unsigned char *)INTRREG_VA) = 0; diff --git a/sys/arch/sparc/sparc/cpu.c b/sys/arch/sparc/sparc/cpu.c index e3ba78f6a938..e0cdb8565e5f 100644 --- a/sys/arch/sparc/sparc/cpu.c +++ b/sys/arch/sparc/sparc/cpu.c @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.c,v 1.123 2001/09/26 20:53:08 eeh Exp $ */ +/* $NetBSD: cpu.c,v 1.124 2001/10/03 09:40:12 chs Exp $ */ /* * Copyright (c) 1996 @@ -202,9 +202,7 @@ alloc_cpuinfo() /* Map the pages */ for (m = TAILQ_FIRST(&mlist); m != NULL; m = TAILQ_NEXT(m, pageq)) { paddr_t pa = VM_PAGE_TO_PHYS(m); - pmap_enter(pmap_kernel(), va, pa, - VM_PROT_READ|VM_PROT_WRITE, - VM_PROT_READ|VM_PROT_WRITE|PMAP_WIRED); + pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE); va += NBPG; } pmap_update(pmap_kernel()); diff --git a/sys/arch/sparc/sparc/iommu.c b/sys/arch/sparc/sparc/iommu.c index 69037e0b1da5..e8820d9a3325 100644 --- a/sys/arch/sparc/sparc/iommu.c +++ b/sys/arch/sparc/sparc/iommu.c @@ -1,4 +1,4 @@ -/* $NetBSD: iommu.c,v 1.58 2001/09/28 11:59:53 chs Exp $ */ +/* $NetBSD: iommu.c,v 1.59 2001/10/03 09:40:12 chs Exp $ */ /* * Copyright (c) 1996 @@ -259,8 +259,7 @@ iommu_attach(parent, self, aux) /* Map the pages */ for (; m != NULL; m = TAILQ_NEXT(m,pageq)) { paddr_t pa = VM_PAGE_TO_PHYS(m); - pmap_enter(pmap_kernel(), va, pa | PMAP_NC, - VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(va, pa | PMAP_NC, VM_PROT_READ | VM_PROT_WRITE); va += NBPG; } pmap_update(pmap_kernel()); @@ -838,8 +837,7 @@ iommu_dmamem_map(t, segs, nsegs, size, kvap, flags) panic("iommu_dmamem_map: size botch"); addr = VM_PAGE_TO_PHYS(m); - pmap_enter(pmap_kernel(), va, addr | cbit, - VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(va, addr | cbit, VM_PROT_READ | VM_PROT_WRITE); #if 0 if (flags & BUS_DMA_COHERENT) /* XXX */; diff --git a/sys/arch/sparc/sparc/machdep.c b/sys/arch/sparc/sparc/machdep.c index 8cc0dd805a55..72c1cc8e465b 100644 --- a/sys/arch/sparc/sparc/machdep.c +++ b/sys/arch/sparc/sparc/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.186 2001/10/03 09:37:23 chs Exp $ */ +/* $NetBSD: machdep.c,v 1.187 2001/10/03 09:40:12 chs Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -238,20 +238,18 @@ cpu_startup() /* Map first 8192 */ while (va < va0 + 8192) { - pmap_enter(pmap_kernel(), va, pa, - VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE); pa += PAGE_SIZE; va += PAGE_SIZE; } pmap_update(pmap_kernel()); /* Map the rest of the pages */ - for (m = TAILQ_FIRST(&mlist); m != NULL; m = TAILQ_NEXT(m,pageq)) { + TAILQ_FOREACH(m, &mlist ,pageq) { if (va >= va0 + size) panic("cpu_start: memory buffer size botch"); pa = VM_PAGE_TO_PHYS(m); - pmap_enter(pmap_kernel(), va, pa, - VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE); va += PAGE_SIZE; } pmap_update(pmap_kernel()); @@ -323,7 +321,7 @@ cpu_startup() panic("cpu_startup: " "not enough RAM for buffer cache"); pmap_kenter_pa(curbuf, VM_PAGE_TO_PHYS(pg), - VM_PROT_READ|VM_PROT_WRITE); + VM_PROT_READ | VM_PROT_WRITE); curbuf += PAGE_SIZE; curbufsize -= PAGE_SIZE; } @@ -1514,6 +1512,7 @@ no_fit: for (; buflen > 0; ) { paddr_t pa; + /* * Get the physical address for this page. */ @@ -1532,9 +1531,8 @@ no_fit: pa |= PG_IOC; #endif #endif - pmap_enter(pmap_kernel(), dva, - (pa & -pagesz) | PMAP_NC, - VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(dva, (pa & -pagesz) | PMAP_NC, + VM_PROT_READ | VM_PROT_WRITE); dva += pagesz; va += sgsize; @@ -1603,9 +1601,8 @@ sun4_dmamap_load_raw(t, map, segs, nsegs, size, flags) pa |= PG_IOC; #endif #endif - pmap_enter(pmap_kernel(), dva, - (pa & -pagesz) | PMAP_NC, - VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(dva, (pa & -pagesz) | PMAP_NC, + VM_PROT_READ | VM_PROT_WRITE); dva += pagesz; sgsize -= pagesz; @@ -1645,7 +1642,7 @@ sun4_dmamap_unload(t, map) dva = segs[i].ds_addr & -PAGE_SIZE; len = segs[i]._ds_sgsize; - pmap_remove(pmap_kernel(), dva, dva + len); + pmap_kremove(dva, len); if ((flags & BUS_DMA_24BIT) != 0) { s = splhigh(); @@ -1694,15 +1691,14 @@ sun4_dmamem_map(t, segs, nsegs, size, kvap, flags) *kvap = (caddr_t)va; mlist = segs[0]._ds_mlist; - for (m = TAILQ_FIRST(mlist); m != NULL; m = TAILQ_NEXT(m,pageq)) { + TAILQ_FOREACH(m, mlist, pageq) { paddr_t pa; if (size == 0) panic("sun4_dmamem_map: size botch"); pa = VM_PAGE_TO_PHYS(m); - pmap_enter(pmap_kernel(), va, pa | PMAP_NC, - VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(va, pa | PMAP_NC, VM_PROT_READ | VM_PROT_WRITE); va += PAGE_SIZE; size -= PAGE_SIZE; @@ -1792,8 +1788,8 @@ static vaddr_t iobase; pmtype = PMAP_IOENC(iospace); do { - pmap_enter(pmap_kernel(), v, pa | pmtype | PMAP_NC, - VM_PROT_READ | VM_PROT_WRITE, PMAP_WIRED); + pmap_kenter_pa(v, pa | pmtype | PMAP_NC, + VM_PROT_READ | VM_PROT_WRITE); v += PAGE_SIZE; pa += PAGE_SIZE; } while ((size -= PAGE_SIZE) > 0); @@ -1808,9 +1804,8 @@ sparc_bus_unmap(t, bh, size) bus_space_handle_t bh; { vaddr_t va = trunc_page((vaddr_t)bh); - vaddr_t endva = va + round_page(size); - pmap_remove(pmap_kernel(), va, endva); + pmap_kremove(va, round_page(size)); pmap_update(pmap_kernel()); return (0); }