diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mm/mmu.c | 2 | ||||
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index f866bf6b97d4..445bc3b951e6 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -265,7 +265,7 @@ static void __init build_mem_type_table(void) | |||
265 | if (arch_is_coherent()) { | 265 | if (arch_is_coherent()) { |
266 | if (cpu_is_xsc3()) { | 266 | if (cpu_is_xsc3()) { |
267 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; | 267 | mem_types[MT_MEMORY].prot_sect |= PMD_SECT_S; |
268 | mem_types[MT_MEMORY].prot_pte |= L_PTE_COHERENT; | 268 | mem_types[MT_MEMORY].prot_pte |= L_PTE_SHARED; |
269 | } | 269 | } |
270 | } | 270 | } |
271 | 271 | ||
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index c4d778a8619d..85c3523d0a95 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -371,8 +371,10 @@ ENTRY(cpu_xsc3_switch_mm) | |||
371 | ENTRY(cpu_xsc3_set_pte) | 371 | ENTRY(cpu_xsc3_set_pte) |
372 | str r1, [r0], #-2048 @ linux version | 372 | str r1, [r0], #-2048 @ linux version |
373 | 373 | ||
374 | bic r2, r1, #0xdf0 @ Keep C, B, coherency bits | 374 | bic r2, r1, #0xff0 @ Keep C, B bits |
375 | orr r2, r2, #PTE_TYPE_EXT @ extended page | 375 | orr r2, r2, #PTE_TYPE_EXT @ extended page |
376 | tst r1, #L_PTE_SHARED @ Shared? | ||
377 | orrne r2, r2, #0x200 | ||
376 | 378 | ||
377 | eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY | 379 | eor r3, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY |
378 | 380 | ||