aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig65
1 files changed, 53 insertions, 12 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 553b7cf17bf..b404e5eec0c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -19,6 +19,8 @@ config ARM
19 select HAVE_KPROBES if (!XIP_KERNEL) 19 select HAVE_KPROBES if (!XIP_KERNEL)
20 select HAVE_KRETPROBES if (HAVE_KPROBES) 20 select HAVE_KRETPROBES if (HAVE_KPROBES)
21 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) 21 select HAVE_FUNCTION_TRACER if (!XIP_KERNEL)
22 select HAVE_FTRACE_MCOUNT_RECORD if (!XIP_KERNEL)
23 select HAVE_DYNAMIC_FTRACE if (!XIP_KERNEL)
22 select HAVE_GENERIC_DMA_COHERENT 24 select HAVE_GENERIC_DMA_COHERENT
23 select HAVE_KERNEL_GZIP 25 select HAVE_KERNEL_GZIP
24 select HAVE_KERNEL_LZO 26 select HAVE_KERNEL_LZO
@@ -26,6 +28,7 @@ config ARM
26 select HAVE_PERF_EVENTS 28 select HAVE_PERF_EVENTS
27 select PERF_USE_VMALLOC 29 select PERF_USE_VMALLOC
28 select HAVE_REGS_AND_STACK_ACCESS_API 30 select HAVE_REGS_AND_STACK_ACCESS_API
31 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7))
29 help 32 help
30 The ARM series is a line of low-power-consumption RISC chip designs 33 The ARM series is a line of low-power-consumption RISC chip designs
31 licensed by ARM Ltd and targeted at embedded applications and 34 licensed by ARM Ltd and targeted at embedded applications and
@@ -145,6 +148,9 @@ config ARCH_HAS_CPUFREQ
145 and that the relevant menu configurations are displayed for 148 and that the relevant menu configurations are displayed for
146 it. 149 it.
147 150
151config ARCH_HAS_CPU_IDLE_WAIT
152 def_bool y
153
148config GENERIC_HWEIGHT 154config GENERIC_HWEIGHT
149 bool 155 bool
150 default y 156 default y
@@ -271,7 +277,6 @@ config ARCH_AT91
271 bool "Atmel AT91" 277 bool "Atmel AT91"
272 select ARCH_REQUIRE_GPIOLIB 278 select ARCH_REQUIRE_GPIOLIB
273 select HAVE_CLK 279 select HAVE_CLK
274 select ARCH_USES_GETTIMEOFFSET
275 help 280 help
276 This enables support for systems based on the Atmel AT91RM9200, 281 This enables support for systems based on the Atmel AT91RM9200,
277 AT91SAM9 and AT91CAP9 processors. 282 AT91SAM9 and AT91CAP9 processors.
@@ -1003,7 +1008,7 @@ endif
1003 1008
1004config ARM_ERRATA_411920 1009config ARM_ERRATA_411920
1005 bool "ARM errata: Invalidation of the Instruction Cache operation can fail" 1010 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
1006 depends on CPU_V6 && !SMP 1011 depends on CPU_V6
1007 help 1012 help
1008 Invalidation of the Instruction Cache operation can 1013 Invalidation of the Instruction Cache operation can
1009 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176. 1014 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
@@ -1051,6 +1056,32 @@ config ARM_ERRATA_460075
1051 ACTLR register. Note that setting specific bits in the ACTLR register 1056 ACTLR register. Note that setting specific bits in the ACTLR register
1052 may not be available in non-secure mode. 1057 may not be available in non-secure mode.
1053 1058
1059config ARM_ERRATA_742230
1060 bool "ARM errata: DMB operation may be faulty"
1061 depends on CPU_V7 && SMP
1062 help
1063 This option enables the workaround for the 742230 Cortex-A9
1064 (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
1065 between two write operations may not ensure the correct visibility
1066 ordering of the two writes. This workaround sets a specific bit in
1067 the diagnostic register of the Cortex-A9 which causes the DMB
1068 instruction to behave as a DSB, ensuring the correct behaviour of
1069 the two writes.
1070
1071config ARM_ERRATA_742231
1072 bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
1073 depends on CPU_V7 && SMP
1074 help
1075 This option enables the workaround for the 742231 Cortex-A9
1076 (r2p0..r2p2) erratum. Under certain conditions, specific to the
1077 Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
1078 accessing some data located in the same cache line, may get corrupted
1079 data due to bad handling of the address hazard when the line gets
1080 replaced from one of the CPUs at the same time as another CPU is
1081 accessing it. This workaround sets specific bits in the diagnostic
1082 register of the Cortex-A9 which reduces the linefill issuing
1083 capabilities of the processor.
1084
1054config PL310_ERRATA_588369 1085config PL310_ERRATA_588369
1055 bool "Clean & Invalidate maintenance operations do not invalidate clean lines" 1086 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1056 depends on CACHE_L2X0 && ARCH_OMAP4 1087 depends on CACHE_L2X0 && ARCH_OMAP4
@@ -1142,13 +1173,13 @@ source "kernel/time/Kconfig"
1142 1173
1143config SMP 1174config SMP
1144 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 1175 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1145 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\ 1176 depends on EXPERIMENTAL
1146 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1147 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1148 depends on GENERIC_CLOCKEVENTS 1177 depends on GENERIC_CLOCKEVENTS
1178 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
1179 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1180 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
1149 select USE_GENERIC_SMP_HELPERS 1181 select USE_GENERIC_SMP_HELPERS
1150 select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\ 1182 select HAVE_ARM_SCU
1151 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
1152 help 1183 help
1153 This enables support for systems with more than one CPU. If you have 1184 This enables support for systems with more than one CPU. If you have
1154 a system with only one CPU, like most personal computers, say N. If 1185 a system with only one CPU, like most personal computers, say N. If
@@ -1166,6 +1197,19 @@ config SMP
1166 1197
1167 If you don't know what to do here, say N. 1198 If you don't know what to do here, say N.
1168 1199
1200config SMP_ON_UP
1201 bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)"
1202 depends on EXPERIMENTAL
1203 depends on SMP && !XIP && !THUMB2_KERNEL
1204 default y
1205 help
1206 SMP kernels contain instructions which fail on non-SMP processors.
1207 Enabling this option allows the kernel to modify itself to make
1208 these instructions safe. Disabling it allows about 1K of space
1209 savings.
1210
1211 If you don't know what to do here, say Y.
1212
1169config HAVE_ARM_SCU 1213config HAVE_ARM_SCU
1170 bool 1214 bool
1171 depends on SMP 1215 depends on SMP
@@ -1216,12 +1260,9 @@ config HOTPLUG_CPU
1216 1260
1217config LOCAL_TIMERS 1261config LOCAL_TIMERS
1218 bool "Use local timer interrupts" 1262 bool "Use local timer interrupts"
1219 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \ 1263 depends on SMP
1220 REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
1221 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1222 default y 1264 default y
1223 select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \ 1265 select HAVE_ARM_TWD
1224 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
1225 help 1266 help
1226 Enable support for local timers on SMP platforms, rather then the 1267 Enable support for local timers on SMP platforms, rather then the
1227 legacy IPI broadcast method. Local timers allows the system 1268 legacy IPI broadcast method. Local timers allows the system