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