diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-09-06 12:19:08 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-10-01 11:40:52 -0400 |
commit | da0916539d20f257dfa46784357300e49d6bfd00 (patch) | |
tree | e581749819a4a7e5aea471c242a51773a360bd1d /arch/arm/mm/proc-arm1022.S | |
parent | 1ad77a876da48331451698cc4172c90ab9b6372f (diff) |
[ARM] Convert set_pte_ext implementions to macros
There are actually only four separate implementations of set_pte_ext.
Use assembler macros to insert code for these into the proc-*.S files.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-arm1022.S')
-rw-r--r-- | arch/arm/mm/proc-arm1022.S | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/arch/arm/mm/proc-arm1022.S b/arch/arm/mm/proc-arm1022.S index 2a4ea1659e96..68db8c5a4e98 100644 --- a/arch/arm/mm/proc-arm1022.S +++ b/arch/arm/mm/proc-arm1022.S | |||
@@ -365,29 +365,7 @@ ENTRY(cpu_arm1022_switch_mm) | |||
365 | .align 5 | 365 | .align 5 |
366 | ENTRY(cpu_arm1022_set_pte_ext) | 366 | ENTRY(cpu_arm1022_set_pte_ext) |
367 | #ifdef CONFIG_MMU | 367 | #ifdef CONFIG_MMU |
368 | str r1, [r0], #-2048 @ linux version | 368 | armv3_set_pte_ext |
369 | |||
370 | eor r1, r1, #L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_WRITE | L_PTE_DIRTY | ||
371 | |||
372 | bic r2, r1, #PTE_SMALL_AP_MASK | ||
373 | bic r2, r2, #PTE_TYPE_MASK | ||
374 | orr r2, r2, #PTE_TYPE_SMALL | ||
375 | |||
376 | tst r1, #L_PTE_USER @ User? | ||
377 | orrne r2, r2, #PTE_SMALL_AP_URO_SRW | ||
378 | |||
379 | tst r1, #L_PTE_WRITE | L_PTE_DIRTY @ Write and Dirty? | ||
380 | orreq r2, r2, #PTE_SMALL_AP_UNO_SRW | ||
381 | |||
382 | tst r1, #L_PTE_PRESENT | L_PTE_YOUNG @ Present and Young? | ||
383 | movne r2, #0 | ||
384 | |||
385 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH | ||
386 | eor r3, r1, #0x0a @ C & small page? | ||
387 | tst r3, #0x0b | ||
388 | biceq r2, r2, #4 | ||
389 | #endif | ||
390 | str r2, [r0] @ hardware version | ||
391 | mov r0, r0 | 369 | mov r0, r0 |
392 | #ifndef CONFIG_CPU_DCACHE_DISABLE | 370 | #ifndef CONFIG_CPU_DCACHE_DISABLE |
393 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry | 371 | mcr p15, 0, r0, c7, c10, 1 @ clean D entry |