Module Name: src Committed By: skrll Date: Fri Nov 7 12:43:36 UTC 2014
Modified Files: src/sys/arch/arm/arm32: pmap.c Log Message: In pmap_enter only flush the TLB if really necessary To generate a diff of this commit: cvs rdiff -u -r1.309 -r1.310 src/sys/arch/arm/arm32/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/arm32/pmap.c diff -u src/sys/arch/arm/arm32/pmap.c:1.309 src/sys/arch/arm/arm32/pmap.c:1.310 --- src/sys/arch/arm/arm32/pmap.c:1.309 Wed Nov 5 09:13:16 2014 +++ src/sys/arch/arm/arm32/pmap.c Fri Nov 7 12:43:36 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.309 2014/11/05 09:13:16 skrll Exp $ */ +/* $NetBSD: pmap.c,v 1.310 2014/11/07 12:43:36 skrll Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -215,7 +215,7 @@ #include <arm/locore.h> -__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.309 2014/11/05 09:13:16 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.310 2014/11/07 12:43:36 skrll Exp $"); //#define PMAP_DEBUG #ifdef PMAP_DEBUG @@ -3316,8 +3316,9 @@ pmap_enter(pmap_t pm, vaddr_t va, paddr_ if (npte != opte) { l2pte_reset(ptep); PTE_SYNC(ptep); - pmap_tlb_flush_SE(pm, va, oflags); - + if (l2pte_valid_p(opte)) { + pmap_tlb_flush_SE(pm, va, oflags); + } l2pte_set(ptep, npte, 0); PTE_SYNC(ptep); #ifndef ARM_MMU_EXTENDED