aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/compressed
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-05-21 10:15:33 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-05-21 10:15:33 -0400
commit4ab1056766a4e49f6b9ef324313dd1583f8f8f4e (patch)
tree89f975e7e021dd27dc807e45445e963aeb39fcda /arch/arm/boot/compressed
parent4175160b065e74572819a320dcd34129224a4e1c (diff)
parent4cdfc2ec72e940abb4322aa1bc14f43a1486fc5d (diff)
Merge branch 'v3-removal' into for-linus
Conflicts: arch/arm/boot/compressed/head.S
Diffstat (limited to 'arch/arm/boot/compressed')
-rw-r--r--arch/arm/boot/compressed/head.S44
1 files changed, 4 insertions, 40 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 5ad33a4df675..b8c64b80bafc 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -686,19 +686,6 @@ __fa526_cache_on:
686 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB 686 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB
687 mov pc, r12 687 mov pc, r12
688 688
689__arm6_mmu_cache_on:
690 mov r12, lr
691 mov r6, #CB_BITS | 0x12 @ U
692 bl __setup_mmu
693 mov r0, #0
694 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
695 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
696 mov r0, #0x30
697 bl __common_mmu_cache_on
698 mov r0, #0
699 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
700 mov pc, r12
701
702__common_mmu_cache_on: 689__common_mmu_cache_on:
703#ifndef CONFIG_THUMB2_KERNEL 690#ifndef CONFIG_THUMB2_KERNEL
704#ifndef DEBUG 691#ifndef DEBUG
@@ -763,16 +750,6 @@ call_cache_fn: adr r12, proc_types
763 .align 2 750 .align 2
764 .type proc_types,#object 751 .type proc_types,#object
765proc_types: 752proc_types:
766 .word 0x41560600 @ ARM6/610
767 .word 0xffffffe0
768 W(b) __arm6_mmu_cache_off @ works, but slow
769 W(b) __arm6_mmu_cache_off
770 mov pc, lr
771 THUMB( nop )
772@ b __arm6_mmu_cache_on @ untested
773@ b __arm6_mmu_cache_off
774@ b __armv3_mmu_cache_flush
775
776 .word 0x00000000 @ old ARM ID 753 .word 0x00000000 @ old ARM ID
777 .word 0x0000f000 754 .word 0x0000f000
778 mov pc, lr 755 mov pc, lr
@@ -784,8 +761,10 @@ proc_types:
784 761
785 .word 0x41007000 @ ARM7/710 762 .word 0x41007000 @ ARM7/710
786 .word 0xfff8fe00 763 .word 0xfff8fe00
787 W(b) __arm7_mmu_cache_off 764 mov pc, lr
788 W(b) __arm7_mmu_cache_off 765 THUMB( nop )
766 mov pc, lr
767 THUMB( nop )
789 mov pc, lr 768 mov pc, lr
790 THUMB( nop ) 769 THUMB( nop )
791 770
@@ -984,21 +963,6 @@ __armv7_mmu_cache_off:
984 mcr p15, 0, r0, c7, c5, 4 @ ISB 963 mcr p15, 0, r0, c7, c5, 4 @ ISB
985 mov pc, r12 964 mov pc, r12
986 965
987__arm6_mmu_cache_off:
988 mov r0, #0x00000030 @ ARM6 control reg.
989 b __armv3_mmu_cache_off
990
991__arm7_mmu_cache_off:
992 mov r0, #0x00000070 @ ARM7 control reg.
993 b __armv3_mmu_cache_off
994
995__armv3_mmu_cache_off:
996 mcr p15, 0, r0, c1, c0, 0 @ turn MMU and cache off
997 mov r0, #0
998 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
999 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
1000 mov pc, lr
1001
1002/* 966/*
1003 * Clean and flush the cache to maintain consistency. 967 * Clean and flush the cache to maintain consistency.
1004 * 968 *