Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm/arm32 Fix VIVT cache operation. Tested on Kirk...



details:   https://anonhg.NetBSD.org/src/rev/54d5fc45de79
branches:  trunk
changeset: 789895:54d5fc45de79
user:      kiyohara <kiyohara%NetBSD.org@localhost>
date:      Thu Sep 12 14:45:18 2013 +0000

description:
Fix VIVT cache operation.  Tested on Kirkwood machines.

diffstat:

 sys/arch/arm/arm32/pmap.c |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (37 lines):

diff -r 16bbcd81b8df -r 54d5fc45de79 sys/arch/arm/arm32/pmap.c
--- a/sys/arch/arm/arm32/pmap.c Thu Sep 12 13:12:35 2013 +0000
+++ b/sys/arch/arm/arm32/pmap.c Thu Sep 12 14:45:18 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.c,v 1.263 2013/08/18 06:50:31 matt Exp $  */
+/*     $NetBSD: pmap.c,v 1.264 2013/09/12 14:45:18 kiyohara Exp $      */
 
 /*
  * Copyright 2003 Wasabi Systems, Inc.
@@ -209,7 +209,7 @@
 #include <arm/locore.h>
 #include <arm/arm32/katelib.h>
 
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.263 2013/08/18 06:50:31 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.264 2013/09/12 14:45:18 kiyohara Exp $");
 
 #ifdef PMAP_DEBUG
 
@@ -2992,7 +2992,7 @@
                        oflags = pv->pv_flags;
 
 #ifdef PMAP_CACHE_VIVT
-                       if (!(oflags & PVF_NC) == 0 && l2pte_valid(opte)) {
+                       if (!(oflags & PVF_NC) && l2pte_valid(opte)) {
                                pmap_cache_wbinv_page(pm, va, true, oflags);
                        }
 #endif
@@ -3624,7 +3624,8 @@
                                 * write-protect operation.  If the pmap is
                                 * active, write-back the page.
                                 */
-                               pmap_cache_wbinv_page(pm, sva, false, PVF_REF);
+                               pmap_cache_wbinv_page(pm, sva, false,
+                                   PVF_REF | PVF_WRITE);
 #endif
 
                                pg = PHYS_TO_VM_PAGE(l2pte_pa(pte));



Home | Main Index | Thread Index | Old Index