aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/compressed/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/compressed/head.S')
-rw-r--r--arch/arm/boot/compressed/head.S26
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 77d614232d81..def02483286a 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -459,6 +459,20 @@ __armv7_mmu_cache_on:
459 mcr p15, 0, r0, c7, c5, 4 @ ISB 459 mcr p15, 0, r0, c7, c5, 4 @ ISB
460 mov pc, r12 460 mov pc, r12
461 461
462__fa526_cache_on:
463 mov r12, lr
464 bl __setup_mmu
465 mov r0, #0
466 mcr p15, 0, r0, c7, c7, 0 @ Invalidate whole cache
467 mcr p15, 0, r0, c7, c10, 4 @ drain write buffer
468 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB
469 mrc p15, 0, r0, c1, c0, 0 @ read control reg
470 orr r0, r0, #0x1000 @ I-cache enable
471 bl __common_mmu_cache_on
472 mov r0, #0
473 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB
474 mov pc, r12
475
462__arm6_mmu_cache_on: 476__arm6_mmu_cache_on:
463 mov r12, lr 477 mov r12, lr
464 bl __setup_mmu 478 bl __setup_mmu
@@ -636,6 +650,12 @@ proc_types:
636 b __armv4_mmu_cache_off 650 b __armv4_mmu_cache_off
637 b __armv5tej_mmu_cache_flush 651 b __armv5tej_mmu_cache_flush
638 652
653 .word 0x66015261 @ FA526
654 .word 0xff01fff1
655 b __fa526_cache_on
656 b __armv4_mmu_cache_off
657 b __fa526_cache_flush
658
639 @ These match on the architecture ID 659 @ These match on the architecture ID
640 660
641 .word 0x00020000 @ ARMv4T 661 .word 0x00020000 @ ARMv4T
@@ -775,6 +795,12 @@ __armv4_mpu_cache_flush:
775 mcr p15, 0, ip, c7, c10, 4 @ drain WB 795 mcr p15, 0, ip, c7, c10, 4 @ drain WB
776 mov pc, lr 796 mov pc, lr
777 797
798__fa526_cache_flush:
799 mov r1, #0
800 mcr p15, 0, r1, c7, c14, 0 @ clean and invalidate D cache
801 mcr p15, 0, r1, c7, c5, 0 @ flush I cache
802 mcr p15, 0, r1, c7, c10, 4 @ drain WB
803 mov pc, lr
778 804
779__armv6_mmu_cache_flush: 805__armv6_mmu_cache_flush:
780 mov r1, #0 806 mov r1, #0