diff options
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 65 |
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 | ||
151 | config ARCH_HAS_CPU_IDLE_WAIT | ||
152 | def_bool y | ||
153 | |||
148 | config GENERIC_HWEIGHT | 154 | config 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 | ||
1004 | config ARM_ERRATA_411920 | 1009 | config 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 | ||
1059 | config 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 | |||
1071 | config 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 | |||
1054 | config PL310_ERRATA_588369 | 1085 | config 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 | ||
1143 | config SMP | 1174 | config 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 | ||
1200 | config 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 | |||
1169 | config HAVE_ARM_SCU | 1213 | config HAVE_ARM_SCU |
1170 | bool | 1214 | bool |
1171 | depends on SMP | 1215 | depends on SMP |
@@ -1216,12 +1260,9 @@ config HOTPLUG_CPU | |||
1216 | 1260 | ||
1217 | config LOCAL_TIMERS | 1261 | config 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 |