Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/include/arm32 Alas, Cortex-A8 can't TLB walk ou...
details: https://anonhg.NetBSD.org/src/rev/602ea0839683
branches: trunk
changeset: 781438:602ea0839683
user: matt <matt%NetBSD.org@localhost>
date: Thu Sep 06 04:42:39 2012 +0000
description:
Alas, Cortex-A8 can't TLB walk out of their caches so they need to sync each PTE.
diffstat:
sys/arch/arm/include/arm32/pmap.h | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diffs (26 lines):
diff -r 178aa0dedc45 -r 602ea0839683 sys/arch/arm/include/arm32/pmap.h
--- a/sys/arch/arm/include/arm32/pmap.h Thu Sep 06 03:45:02 2012 +0000
+++ b/sys/arch/arm/include/arm32/pmap.h Thu Sep 06 04:42:39 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.108 2012/09/06 02:07:25 matt Exp $ */
+/* $NetBSD: pmap.h,v 1.109 2012/09/06 04:42:39 matt Exp $ */
/*
* Copyright (c) 2002, 2003 Wasabi Systems, Inc.
@@ -405,7 +405,16 @@
#if (ARM_MMU_SA1 + ARM_MMU_V6 + ARM_MMU_V7 != 0) && (ARM_NMMUS == 1)
#define PMAP_INCLUDE_PTE_SYNC
#if (ARM_MMU_V7 > 0)
+#if defined(CPU_CORTEXA8)
+#if defined(CPU_CORTEXA5) || defined(CPU_CORTEXA7) || defined(CPU_CORTEXA9) \
+ || defined(CPU_CORTEXA15)
+#define PMAP_NEEDS_PTE_SYNC CPU_ID_IS_CORTEX_A8(curcpu()->ci_arm_cpuid)
+#else
+#define PMAP_NEEDS_PTE_SYNC 1
+#endif
+#else
#define PMAP_NEEDS_PTE_SYNC 0
+#endif
#else
#define PMAP_NEEDS_PTE_SYNC 1
#endif
Home |
Main Index |
Thread Index |
Old Index