Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm Enable "shareable" access to the page table for...



details:   https://anonhg.NetBSD.org/src/rev/71f8b44800a7
branches:  trunk
changeset: 781435:71f8b44800a7
user:      matt <matt%NetBSD.org@localhost>
date:      Thu Sep 06 02:07:25 2012 +0000

description:
Enable "shareable" access to the page table for armv7.  PTE_SYNC only does
a DSB now on an armv7 cpu and no longer needs to flush the cache line to ram.

diffstat:

 sys/arch/arm/arm/cpufunc_asm_armv7.S |  4 ++++
 sys/arch/arm/include/arm32/pmap.h    |  4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diffs (32 lines):

diff -r 13d7241db5e2 -r 71f8b44800a7 sys/arch/arm/arm/cpufunc_asm_armv7.S
--- a/sys/arch/arm/arm/cpufunc_asm_armv7.S      Thu Sep 06 02:05:46 2012 +0000
+++ b/sys/arch/arm/arm/cpufunc_asm_armv7.S      Thu Sep 06 02:07:25 2012 +0000
@@ -71,6 +71,10 @@
 
 
 ENTRY(armv7_setttb)
+       mrc     p15, 0, r1, c0, c0, 5   @ get MPIDR
+       cmp     r1, #0
+       orrlt   r0, #0x5b               @ MP, cachable (Normal in/out WB)
+       orrge   r0, #0x1b               @ Non-MP, cacheable, normal WB
        mcr     p15, 0, r0, c2, c0, 0   @ load new TTB
 #ifdef MULTIPROCESSOR
        mcr     p15, 0, r0, c8, c3, 0   @ invalidate all I+D TLBs
diff -r 13d7241db5e2 -r 71f8b44800a7 sys/arch/arm/include/arm32/pmap.h
--- a/sys/arch/arm/include/arm32/pmap.h Thu Sep 06 02:05:46 2012 +0000
+++ b/sys/arch/arm/include/arm32/pmap.h Thu Sep 06 02:07:25 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pmap.h,v 1.107 2012/09/02 14:43:21 matt Exp $  */
+/*     $NetBSD: pmap.h,v 1.108 2012/09/06 02:07:25 matt Exp $  */
 
 /*
  * Copyright (c) 2002, 2003 Wasabi Systems, Inc.
@@ -405,7 +405,7 @@
 #if (ARM_MMU_SA1 + ARM_MMU_V6 + ARM_MMU_V7 != 0) && (ARM_NMMUS == 1) 
 #define        PMAP_INCLUDE_PTE_SYNC
 #if (ARM_MMU_V7 > 0)
-#define        PMAP_NEEDS_PTE_SYNC     1
+#define        PMAP_NEEDS_PTE_SYNC     0
 #else
 #define        PMAP_NEEDS_PTE_SYNC     1
 #endif



Home | Main Index | Thread Index | Old Index