aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mm/mm-armv.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-04-04 08:41:29 -0400
committerJeff Garzik <jeff@garzik.org>2006-04-04 08:41:29 -0400
commitc16226a1c75042bfdc50bd2921d5919f6267ba51 (patch)
treef7f6081aab45d598fa44b9e588722ed38c299b8e /arch/arm/mm/mm-armv.c
parentaf64371ada9452632c349563d688d30d94e918ba (diff)
parent6246b6128bbe34d0752f119cf7c5111c85fe481d (diff)
Merge branch 'master'
Diffstat (limited to 'arch/arm/mm/mm-armv.c')
-rw-r--r--arch/arm/mm/mm-armv.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mm/mm-armv.c b/arch/arm/mm/mm-armv.c
index 5e5d05bcad5..f14b2d0f369 100644
--- a/arch/arm/mm/mm-armv.c
+++ b/arch/arm/mm/mm-armv.c
@@ -389,6 +389,17 @@ void __init build_mem_type_table(void)
kern_pgprot = user_pgprot = cp->pte;
/*
+ * Enable CPU-specific coherency if supported.
+ * (Only available on XSC3 at the moment.)
+ */
+ if (arch_is_coherent()) {
+ if (cpu_is_xsc3()) {
+ mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S;
+ mem_types[MT_MEMORY].prot_pte |= L_PTE_COHERENT;
+ }
+ }
+
+ /*
* ARMv6 and above have extended page tables.
*/
if (cpu_arch >= CPU_ARCH_ARMv6 && (cr & CR_XP)) {