summaryrefslogtreecommitdiffstats
path: root/sys/arm/include
diff options
context:
space:
mode:
authorcognet <cognet@FreeBSD.org>2005-11-21 19:10:44 +0000
committercognet <cognet@FreeBSD.org>2005-11-21 19:10:44 +0000
commit2dad4e87ed16e0442e1532ad2aa2d71b0c37d3dc (patch)
treeba80a74ed394af886870af61db550e9b5b264ea1 /sys/arm/include
parenta8a5013350da15cb04c409cc0f05d828c43d7f7a (diff)
downloadFreeBSD-src-2dad4e87ed16e0442e1532ad2aa2d71b0c37d3dc.zip
FreeBSD-src-2dad4e87ed16e0442e1532ad2aa2d71b0c37d3dc.tar.gz
Force pmap to write-back the pte cacheline after each pte modification,
even if the pte is supposed to be cached in write through mode (might be a skyeye bug, I'll have to check).
Diffstat (limited to 'sys/arm/include')
-rw-r--r--sys/arm/include/pmap.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h
index dedce0d..fc85ef0 100644
--- a/sys/arm/include/pmap.h
+++ b/sys/arm/include/pmap.h
@@ -335,8 +335,13 @@ extern int pmap_needs_pte_sync;
#define PMAP_NEEDS_PTE_SYNC 1
#define PMAP_INCLUDE_PTE_SYNC
#elif (ARM_MMU_SA1 == 0)
+#if defined(CPU_ARM9) && !defined(ARM9_CACHE_WRITE_THROUGH)
+#define PMAP_NEEDS_PTE_SYNC 1
+#define PMAP_INCLUDE_PTE_SYNC
+#else
#define PMAP_NEEDS_PTE_SYNC 0
#endif
+#endif
/*
* These macros return various bits based on kernel/user and protection.
OpenPOWER on IntegriCloud