diff options
Diffstat (limited to 'arch/arm/mm/proc-arm920.S')
-rw-r--r-- | arch/arm/mm/proc-arm920.S | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/arch/arm/mm/proc-arm920.S b/arch/arm/mm/proc-arm920.S index 28cdb060df45..260595bc912b 100644 --- a/arch/arm/mm/proc-arm920.S +++ b/arch/arm/mm/proc-arm920.S | |||
@@ -351,33 +351,11 @@ ENTRY(cpu_arm920_switch_mm) | |||
351 | .align 5 | 351 | .align 5 |
352 | ENTRY(cpu_arm920_set_pte_ext) | 352 | ENTRY(cpu_arm920_set_pte_ext) |
353 | #ifdef CONFIG_MMU | 353 | #ifdef CONFIG_MMU |
354 | str r1, [r0], #-2048 @ linux version | 354 | armv3_set_pte_ext |
355 | |||
356 | eor r1, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY | ||
357 | |||
358 | bic r2, r1, #PTE_SMALL_AP_MASK | ||
359 | bic r2, r2, #PTE_TYPE_MASK | ||
360 | orr r2, r2, #PTE_TYPE_SMALL | ||
361 | |||
362 | tst r1, #L_PTE_USER @ User? | ||
363 | orrne r2, r2, #PTE_SMALL_AP_URO_SRW | ||
364 | |||
365 | tst r1, #L_PTE_WRITE | L_PTE_DIRTY @ Write and Dirty? | ||
366 | orreq r2, r2, #PTE_SMALL_AP_UNO_SRW | ||
367 | |||
368 | tst r1, #L_PTE_PRESENT | L_PTE_YOUNG @ Present and Young? | ||
369 | movne r2, #0 | ||
370 | |||
371 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH | ||
372 | eor r3, r2, #0x0a @ C & small page? | ||
373 | tst r3, #0x0b | ||
374 | biceq r2, r2, #4 | ||
375 | #endif | ||
376 | str r2, [r0] @ hardware version | ||
377 | mov r0, r0 | 355 | mov r0, r0 |
378 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 356 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry |
379 | mcr p15, 0, r0, c7, c10, 4 @ drain WB | 357 | mcr p15, 0, r0, c7, c10, 4 @ drain WB |
380 | #endif /* CONFIG_MMU */ | 358 | #endif |
381 | mov pc, lr | 359 | mov pc, lr |
382 | 360 | ||
383 | __INIT | 361 | __INIT |