Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
"Two fixes this time, one to ensure that the kuser helper option
depends on MMU as they aren't available for noMMU targets (and if the
option is selected, we end up oopsing.)

The second fix plugs a corner case with the decompressor, ensuring
that the instruction stream can see the relocated code in every case
on ARMv7 CPUs"

* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8198/1: make kuser helpers depend on MMU
ARM: 8191/1: decompressor: ensure I-side picks up relocated code

+17 -4
+16 -4
arch/arm/boot/compressed/head.S
··· 397 397 add sp, sp, r6 398 398 #endif 399 399 400 - tst r4, #1 401 - bleq cache_clean_flush 400 + bl cache_clean_flush 402 401 403 402 adr r0, BSYM(restart) 404 403 add r0, r0, r6 ··· 1046 1047 b call_cache_fn 1047 1048 1048 1049 __armv4_mpu_cache_flush: 1050 + tst r4, #1 1051 + movne pc, lr 1049 1052 mov r2, #1 1050 1053 mov r3, #0 1051 1054 mcr p15, 0, ip, c7, c6, 0 @ invalidate D cache ··· 1065 1064 mov pc, lr 1066 1065 1067 1066 __fa526_cache_flush: 1067 + tst r4, #1 1068 + movne pc, lr 1068 1069 mov r1, #0 1069 1070 mcr p15, 0, r1, c7, c14, 0 @ clean and invalidate D cache 1070 1071 mcr p15, 0, r1, c7, c5, 0 @ flush I cache ··· 1075 1072 1076 1073 __armv6_mmu_cache_flush: 1077 1074 mov r1, #0 1078 - mcr p15, 0, r1, c7, c14, 0 @ clean+invalidate D 1075 + tst r4, #1 1076 + mcreq p15, 0, r1, c7, c14, 0 @ clean+invalidate D 1079 1077 mcr p15, 0, r1, c7, c5, 0 @ invalidate I+BTB 1080 - mcr p15, 0, r1, c7, c15, 0 @ clean+invalidate unified 1078 + mcreq p15, 0, r1, c7, c15, 0 @ clean+invalidate unified 1081 1079 mcr p15, 0, r1, c7, c10, 4 @ drain WB 1082 1080 mov pc, lr 1083 1081 1084 1082 __armv7_mmu_cache_flush: 1083 + tst r4, #1 1084 + bne iflush 1085 1085 mrc p15, 0, r10, c0, c1, 5 @ read ID_MMFR1 1086 1086 tst r10, #0xf << 16 @ hierarchical cache (ARMv7) 1087 1087 mov r10, #0 ··· 1145 1139 mov pc, lr 1146 1140 1147 1141 __armv5tej_mmu_cache_flush: 1142 + tst r4, #1 1143 + movne pc, lr 1148 1144 1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate D cache 1149 1145 bne 1b 1150 1146 mcr p15, 0, r0, c7, c5, 0 @ flush I cache ··· 1154 1146 mov pc, lr 1155 1147 1156 1148 __armv4_mmu_cache_flush: 1149 + tst r4, #1 1150 + movne pc, lr 1157 1151 mov r2, #64*1024 @ default: 32K dcache size (*2) 1158 1152 mov r11, #32 @ default: 32 byte line size 1159 1153 mrc p15, 0, r3, c0, c0, 1 @ read cache type ··· 1189 1179 1190 1180 __armv3_mmu_cache_flush: 1191 1181 __armv3_mpu_cache_flush: 1182 + tst r4, #1 1183 + movne pc, lr 1192 1184 mov r1, #0 1193 1185 mcr p15, 0, r1, c7, c0, 0 @ invalidate whole cache v3 1194 1186 mov pc, lr
+1
arch/arm/mm/Kconfig
··· 798 798 799 799 config KUSER_HELPERS 800 800 bool "Enable kuser helpers in vector page" if !NEED_KUSER_HELPERS 801 + depends on MMU 801 802 default y 802 803 help 803 804 Warning: disabling this option may break user programs.