diff options
Diffstat (limited to 'arch/arm/boot/compressed')
-rw-r--r-- | arch/arm/boot/compressed/head.S | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 49f5b2eaaa8..6fdf4abb718 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
@@ -459,7 +459,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size | |||
459 | orr r1, r1, #3 << 10 | 459 | orr r1, r1, #3 << 10 |
460 | add r2, r3, #16384 | 460 | add r2, r3, #16384 |
461 | 1: cmp r1, r9 @ if virt > start of RAM | 461 | 1: cmp r1, r9 @ if virt > start of RAM |
462 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH | ||
463 | orrhs r1, r1, #0x08 @ set cacheable | ||
464 | #else | ||
462 | orrhs r1, r1, #0x0c @ set cacheable, bufferable | 465 | orrhs r1, r1, #0x0c @ set cacheable, bufferable |
466 | #endif | ||
463 | cmp r1, r10 @ if virt > end of RAM | 467 | cmp r1, r10 @ if virt > end of RAM |
464 | bichs r1, r1, #0x0c @ clear cacheable, bufferable | 468 | bichs r1, r1, #0x0c @ clear cacheable, bufferable |
465 | str r1, [r0], #4 @ 1:1 mapping | 469 | str r1, [r0], #4 @ 1:1 mapping |
@@ -484,6 +488,12 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size | |||
484 | mov pc, lr | 488 | mov pc, lr |
485 | ENDPROC(__setup_mmu) | 489 | ENDPROC(__setup_mmu) |
486 | 490 | ||
491 | __arm926ejs_mmu_cache_on: | ||
492 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH | ||
493 | mov r0, #4 @ put dcache in WT mode | ||
494 | mcr p15, 7, r0, c15, c0, 0 | ||
495 | #endif | ||
496 | |||
487 | __armv4_mmu_cache_on: | 497 | __armv4_mmu_cache_on: |
488 | mov r12, lr | 498 | mov r12, lr |
489 | #ifdef CONFIG_MMU | 499 | #ifdef CONFIG_MMU |
@@ -665,6 +675,12 @@ proc_types: | |||
665 | W(b) __armv4_mpu_cache_off | 675 | W(b) __armv4_mpu_cache_off |
666 | W(b) __armv4_mpu_cache_flush | 676 | W(b) __armv4_mpu_cache_flush |
667 | 677 | ||
678 | .word 0x41069260 @ ARM926EJ-S (v5TEJ) | ||
679 | .word 0xff0ffff0 | ||
680 | b __arm926ejs_mmu_cache_on | ||
681 | b __armv4_mmu_cache_off | ||
682 | b __armv5tej_mmu_cache_flush | ||
683 | |||
668 | .word 0x00007000 @ ARM7 IDs | 684 | .word 0x00007000 @ ARM7 IDs |
669 | .word 0x0000f000 | 685 | .word 0x0000f000 |
670 | mov pc, lr | 686 | mov pc, lr |