diff --git a/sys/arch/arm/arm/cpufunc_asm_armv7.S b/sys/arch/arm/arm/cpufunc_asm_armv7.S index a2db3a866a01..c3c3ed1dcfcb 100644 --- a/sys/arch/arm/arm/cpufunc_asm_armv7.S +++ b/sys/arch/arm/arm/cpufunc_asm_armv7.S @@ -71,6 +71,10 @@ END(armv7_tlb_flushID_SE) 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 --git a/sys/arch/arm/include/arm32/pmap.h b/sys/arch/arm/include/arm32/pmap.h index 3b4fecaf888c..4a0dfcac0779 100644 --- a/sys/arch/arm/include/arm32/pmap.h +++ b/sys/arch/arm/include/arm32/pmap.h @@ -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 @@ extern int pmap_needs_pte_sync; #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