aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/compressed
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-05-09 10:18:19 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-05-09 10:18:19 -0400
commit4cdfc2ec72e940abb4322aa1bc14f43a1486fc5d (patch)
tree35bae1d513e0427b7193e7d30c9bde5b22c3bfe2 /arch/arm/boot/compressed
parent357c9c1f07d4546bc3fbc0fd1044d96b114d14ed (diff)
ARM: Remove ARMv3 support from decompressor
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/boot/compressed')
-rw-r--r--arch/arm/boot/compressed/head.S43
1 files changed, 4 insertions, 39 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index dc7e8ce8e6be..4c2cf5a06a4e 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -680,18 +680,6 @@ __fa526_cache_on:
680 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB 680 mcr p15, 0, r0, c8, c7, 0 @ flush UTLB
681 mov pc, r12 681 mov pc, r12
682 682
683__arm6_mmu_cache_on:
684 mov r12, lr
685 bl __setup_mmu
686 mov r0, #0
687 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
688 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
689 mov r0, #0x30
690 bl __common_mmu_cache_on
691 mov r0, #0
692 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
693 mov pc, r12
694
695__common_mmu_cache_on: 683__common_mmu_cache_on:
696#ifndef CONFIG_THUMB2_KERNEL 684#ifndef CONFIG_THUMB2_KERNEL
697#ifndef DEBUG 685#ifndef DEBUG
@@ -756,16 +744,6 @@ call_cache_fn: adr r12, proc_types
756 .align 2 744 .align 2
757 .type proc_types,#object 745 .type proc_types,#object
758proc_types: 746proc_types:
759 .word 0x41560600 @ ARM6/610
760 .word 0xffffffe0
761 W(b) __arm6_mmu_cache_off @ works, but slow
762 W(b) __arm6_mmu_cache_off
763 mov pc, lr
764 THUMB( nop )
765@ b __arm6_mmu_cache_on @ untested
766@ b __arm6_mmu_cache_off
767@ b __armv3_mmu_cache_flush
768
769 .word 0x00000000 @ old ARM ID 747 .word 0x00000000 @ old ARM ID
770 .word 0x0000f000 748 .word 0x0000f000
771 mov pc, lr 749 mov pc, lr
@@ -777,8 +755,10 @@ proc_types:
777 755
778 .word 0x41007000 @ ARM7/710 756 .word 0x41007000 @ ARM7/710
779 .word 0xfff8fe00 757 .word 0xfff8fe00
780 W(b) __arm7_mmu_cache_off 758 mov pc, lr
781 W(b) __arm7_mmu_cache_off 759 THUMB( nop )
760 mov pc, lr
761 THUMB( nop )
782 mov pc, lr 762 mov pc, lr
783 THUMB( nop ) 763 THUMB( nop )
784 764
@@ -977,21 +957,6 @@ __armv7_mmu_cache_off:
977 mcr p15, 0, r0, c7, c5, 4 @ ISB 957 mcr p15, 0, r0, c7, c5, 4 @ ISB
978 mov pc, r12 958 mov pc, r12
979 959
980__arm6_mmu_cache_off:
981 mov r0, #0x00000030 @ ARM6 control reg.
982 b __armv3_mmu_cache_off
983
984__arm7_mmu_cache_off:
985 mov r0, #0x00000070 @ ARM7 control reg.
986 b __armv3_mmu_cache_off
987
988__armv3_mmu_cache_off:
989 mcr p15, 0, r0, c1, c0, 0 @ turn MMU and cache off
990 mov r0, #0
991 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
992 mcr p15, 0, r0, c5, c0, 0 @ invalidate whole TLB v3
993 mov pc, lr
994
995/* 960/*
996 * Clean and flush the cache to maintain consistency. 961 * Clean and flush the cache to maintain consistency.
997 * 962 *