Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/xscale Use pmap_enter() instead of pmap_kenter_...



details:   https://anonhg.NetBSD.org/src/rev/f41d1ceb7dd4
branches:  trunk
changeset: 553946:f41d1ceb7dd4
user:      scw <scw%NetBSD.org@localhost>
date:      Thu Oct 23 09:25:44 2003 +0000

description:
Use pmap_enter() instead of pmap_kenter_pa() as the former automatically
ensures the mapping is cache-inhibited, so we don't have to frob the PTE
directly.

diffstat:

 sys/arch/arm/xscale/ixp425_space.c |  13 +++++--------
 1 files changed, 5 insertions(+), 8 deletions(-)

diffs (48 lines):

diff -r 9b2a038ec76f -r f41d1ceb7dd4 sys/arch/arm/xscale/ixp425_space.c
--- a/sys/arch/arm/xscale/ixp425_space.c        Thu Oct 23 09:11:35 2003 +0000
+++ b/sys/arch/arm/xscale/ixp425_space.c        Thu Oct 23 09:25:44 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: ixp425_space.c,v 1.1 2003/09/25 14:11:18 ichiro Exp $ */
+/*     $NetBSD: ixp425_space.c,v 1.2 2003/10/23 09:25:44 scw Exp $ */
 
 /*
  * Copyright (c) 2003
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ixp425_space.c,v 1.1 2003/09/25 14:11:18 ichiro Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ixp425_space.c,v 1.2 2003/10/23 09:25:44 scw Exp $");
 
 /*
  * bus_space I/O functions for ixp425
@@ -145,7 +145,6 @@
         paddr_t                pa;
         paddr_t                offset;
         vaddr_t                va;
-        pt_entry_t     *pte;
 
        if ((pd = pmap_devmap_find_pa(bpa, size)) != NULL) {
                /* Device was statically mapped. */
@@ -166,10 +165,9 @@
 
        /* Now map the pages */
        for (pa = startpa; pa < endpa; pa += PAGE_SIZE, va += PAGE_SIZE) {
-               pmap_kenter_pa(va, pa, VM_PROT_READ | VM_PROT_WRITE);
-               pte = vtopte(va);
-               *pte &= ~L2_S_CACHE_MASK;
-               PTE_SYNC(pte);
+               pmap_enter(pmap_kernel(), va, pa,
+                   VM_PROT_READ | VM_PROT_WRITE,
+                   VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
        }
        pmap_update(pmap_kernel());
 
@@ -190,7 +188,6 @@
        endva = round_page(bsh + size);
        va = trunc_page(bsh);
 
-       pmap_kremove(va, endva - va);
        uvm_km_free(kernel_map, va, endva - va);
 }
 



Home | Main Index | Thread Index | Old Index