diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-09 10:18:19 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-09 10:18:19 -0400 |
commit | 4cdfc2ec72e940abb4322aa1bc14f43a1486fc5d (patch) | |
tree | 35bae1d513e0427b7193e7d30c9bde5b22c3bfe2 /arch/arm/boot/compressed | |
parent | 357c9c1f07d4546bc3fbc0fd1044d96b114d14ed (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.S | 43 |
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 |
758 | proc_types: | 746 | proc_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 | * |