diff options
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 120 |
1 files changed, 102 insertions, 18 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 15b603cb577d..f401b92a99f5 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -19,13 +19,17 @@ 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 |
25 | select HAVE_KERNEL_LZMA | 27 | select HAVE_KERNEL_LZMA |
28 | select HAVE_IRQ_WORK | ||
26 | select HAVE_PERF_EVENTS | 29 | select HAVE_PERF_EVENTS |
27 | select PERF_USE_VMALLOC | 30 | select PERF_USE_VMALLOC |
28 | select HAVE_REGS_AND_STACK_ACCESS_API | 31 | select HAVE_REGS_AND_STACK_ACCESS_API |
32 | select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7)) | ||
29 | help | 33 | help |
30 | The ARM series is a line of low-power-consumption RISC chip designs | 34 | The ARM series is a line of low-power-consumption RISC chip designs |
31 | licensed by ARM Ltd and targeted at embedded applications and | 35 | licensed by ARM Ltd and targeted at embedded applications and |
@@ -145,6 +149,9 @@ config ARCH_HAS_CPUFREQ | |||
145 | and that the relevant menu configurations are displayed for | 149 | and that the relevant menu configurations are displayed for |
146 | it. | 150 | it. |
147 | 151 | ||
152 | config ARCH_HAS_CPU_IDLE_WAIT | ||
153 | def_bool y | ||
154 | |||
148 | config GENERIC_HWEIGHT | 155 | config GENERIC_HWEIGHT |
149 | bool | 156 | bool |
150 | default y | 157 | default y |
@@ -271,7 +278,6 @@ config ARCH_AT91 | |||
271 | bool "Atmel AT91" | 278 | bool "Atmel AT91" |
272 | select ARCH_REQUIRE_GPIOLIB | 279 | select ARCH_REQUIRE_GPIOLIB |
273 | select HAVE_CLK | 280 | select HAVE_CLK |
274 | select ARCH_USES_GETTIMEOFFSET | ||
275 | help | 281 | help |
276 | This enables support for systems based on the Atmel AT91RM9200, | 282 | This enables support for systems based on the Atmel AT91RM9200, |
277 | AT91SAM9 and AT91CAP9 processors. | 283 | AT91SAM9 and AT91CAP9 processors. |
@@ -511,6 +517,7 @@ config ARCH_MMP | |||
511 | select GENERIC_CLOCKEVENTS | 517 | select GENERIC_CLOCKEVENTS |
512 | select TICK_ONESHOT | 518 | select TICK_ONESHOT |
513 | select PLAT_PXA | 519 | select PLAT_PXA |
520 | select SPARSE_IRQ | ||
514 | help | 521 | help |
515 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. | 522 | Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line. |
516 | 523 | ||
@@ -588,6 +595,7 @@ config ARCH_PXA | |||
588 | select GENERIC_CLOCKEVENTS | 595 | select GENERIC_CLOCKEVENTS |
589 | select TICK_ONESHOT | 596 | select TICK_ONESHOT |
590 | select PLAT_PXA | 597 | select PLAT_PXA |
598 | select SPARSE_IRQ | ||
591 | help | 599 | help |
592 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. | 600 | Support for Intel/Marvell's PXA2xx/PXA3xx processor line. |
593 | 601 | ||
@@ -679,8 +687,8 @@ config ARCH_S3C64XX | |||
679 | help | 687 | help |
680 | Samsung S3C64XX series based systems | 688 | Samsung S3C64XX series based systems |
681 | 689 | ||
682 | config ARCH_S5P6440 | 690 | config ARCH_S5P64X0 |
683 | bool "Samsung S5P6440" | 691 | bool "Samsung S5P6440 S5P6450" |
684 | select CPU_V6 | 692 | select CPU_V6 |
685 | select GENERIC_GPIO | 693 | select GENERIC_GPIO |
686 | select HAVE_CLK | 694 | select HAVE_CLK |
@@ -689,7 +697,8 @@ config ARCH_S5P6440 | |||
689 | select HAVE_S3C2410_I2C | 697 | select HAVE_S3C2410_I2C |
690 | select HAVE_S3C_RTC | 698 | select HAVE_S3C_RTC |
691 | help | 699 | help |
692 | Samsung S5P6440 CPU based systems | 700 | Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440, |
701 | SMDK6450. | ||
693 | 702 | ||
694 | config ARCH_S5P6442 | 703 | config ARCH_S5P6442 |
695 | bool "Samsung S5P6442" | 704 | bool "Samsung S5P6442" |
@@ -748,6 +757,15 @@ config ARCH_SHARK | |||
748 | Support for the StrongARM based Digital DNARD machine, also known | 757 | Support for the StrongARM based Digital DNARD machine, also known |
749 | as "Shark" (<http://www.shark-linux.de/shark.html>). | 758 | as "Shark" (<http://www.shark-linux.de/shark.html>). |
750 | 759 | ||
760 | config ARCH_TCC_926 | ||
761 | bool "Telechips TCC ARM926-based systems" | ||
762 | select CPU_ARM926T | ||
763 | select HAVE_CLK | ||
764 | select COMMON_CLKDEV | ||
765 | select GENERIC_CLOCKEVENTS | ||
766 | help | ||
767 | Support for Telechips TCC ARM926-based systems. | ||
768 | |||
751 | config ARCH_LH7A40X | 769 | config ARCH_LH7A40X |
752 | bool "Sharp LH7A40X" | 770 | bool "Sharp LH7A40X" |
753 | select CPU_ARM922T | 771 | select CPU_ARM922T |
@@ -916,6 +934,8 @@ source "arch/arm/plat-s5p/Kconfig" | |||
916 | 934 | ||
917 | source "arch/arm/plat-spear/Kconfig" | 935 | source "arch/arm/plat-spear/Kconfig" |
918 | 936 | ||
937 | source "arch/arm/plat-tcc/Kconfig" | ||
938 | |||
919 | if ARCH_S3C2410 | 939 | if ARCH_S3C2410 |
920 | source "arch/arm/mach-s3c2400/Kconfig" | 940 | source "arch/arm/mach-s3c2400/Kconfig" |
921 | source "arch/arm/mach-s3c2410/Kconfig" | 941 | source "arch/arm/mach-s3c2410/Kconfig" |
@@ -929,7 +949,7 @@ if ARCH_S3C64XX | |||
929 | source "arch/arm/mach-s3c64xx/Kconfig" | 949 | source "arch/arm/mach-s3c64xx/Kconfig" |
930 | endif | 950 | endif |
931 | 951 | ||
932 | source "arch/arm/mach-s5p6440/Kconfig" | 952 | source "arch/arm/mach-s5p64x0/Kconfig" |
933 | 953 | ||
934 | source "arch/arm/mach-s5p6442/Kconfig" | 954 | source "arch/arm/mach-s5p6442/Kconfig" |
935 | 955 | ||
@@ -1003,7 +1023,7 @@ endif | |||
1003 | 1023 | ||
1004 | config ARM_ERRATA_411920 | 1024 | config ARM_ERRATA_411920 |
1005 | bool "ARM errata: Invalidation of the Instruction Cache operation can fail" | 1025 | bool "ARM errata: Invalidation of the Instruction Cache operation can fail" |
1006 | depends on CPU_V6 && !SMP | 1026 | depends on CPU_V6 |
1007 | help | 1027 | help |
1008 | Invalidation of the Instruction Cache operation can | 1028 | Invalidation of the Instruction Cache operation can |
1009 | fail. This erratum is present in 1136 (before r1p4), 1156 and 1176. | 1029 | fail. This erratum is present in 1136 (before r1p4), 1156 and 1176. |
@@ -1051,6 +1071,32 @@ config ARM_ERRATA_460075 | |||
1051 | ACTLR register. Note that setting specific bits in the ACTLR register | 1071 | ACTLR register. Note that setting specific bits in the ACTLR register |
1052 | may not be available in non-secure mode. | 1072 | may not be available in non-secure mode. |
1053 | 1073 | ||
1074 | config ARM_ERRATA_742230 | ||
1075 | bool "ARM errata: DMB operation may be faulty" | ||
1076 | depends on CPU_V7 && SMP | ||
1077 | help | ||
1078 | This option enables the workaround for the 742230 Cortex-A9 | ||
1079 | (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction | ||
1080 | between two write operations may not ensure the correct visibility | ||
1081 | ordering of the two writes. This workaround sets a specific bit in | ||
1082 | the diagnostic register of the Cortex-A9 which causes the DMB | ||
1083 | instruction to behave as a DSB, ensuring the correct behaviour of | ||
1084 | the two writes. | ||
1085 | |||
1086 | config ARM_ERRATA_742231 | ||
1087 | bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption" | ||
1088 | depends on CPU_V7 && SMP | ||
1089 | help | ||
1090 | This option enables the workaround for the 742231 Cortex-A9 | ||
1091 | (r2p0..r2p2) erratum. Under certain conditions, specific to the | ||
1092 | Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode, | ||
1093 | accessing some data located in the same cache line, may get corrupted | ||
1094 | data due to bad handling of the address hazard when the line gets | ||
1095 | replaced from one of the CPUs at the same time as another CPU is | ||
1096 | accessing it. This workaround sets specific bits in the diagnostic | ||
1097 | register of the Cortex-A9 which reduces the linefill issuing | ||
1098 | capabilities of the processor. | ||
1099 | |||
1054 | config PL310_ERRATA_588369 | 1100 | config PL310_ERRATA_588369 |
1055 | bool "Clean & Invalidate maintenance operations do not invalidate clean lines" | 1101 | bool "Clean & Invalidate maintenance operations do not invalidate clean lines" |
1056 | depends on CACHE_L2X0 && ARCH_OMAP4 | 1102 | depends on CACHE_L2X0 && ARCH_OMAP4 |
@@ -1076,6 +1122,20 @@ config ARM_ERRATA_720789 | |||
1076 | invalidated are not, resulting in an incoherency in the system page | 1122 | invalidated are not, resulting in an incoherency in the system page |
1077 | tables. The workaround changes the TLB flushing routines to invalidate | 1123 | tables. The workaround changes the TLB flushing routines to invalidate |
1078 | entries regardless of the ASID. | 1124 | entries regardless of the ASID. |
1125 | |||
1126 | config ARM_ERRATA_743622 | ||
1127 | bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" | ||
1128 | depends on CPU_V7 | ||
1129 | help | ||
1130 | This option enables the workaround for the 743622 Cortex-A9 | ||
1131 | (r2p0..r2p2) erratum. Under very rare conditions, a faulty | ||
1132 | optimisation in the Cortex-A9 Store Buffer may lead to data | ||
1133 | corruption. This workaround sets a specific bit in the diagnostic | ||
1134 | register of the Cortex-A9 which disables the Store Buffer | ||
1135 | optimisation, preventing the defect from occurring. This has no | ||
1136 | visible impact on the overall performance or power consumption of the | ||
1137 | processor. | ||
1138 | |||
1079 | endmenu | 1139 | endmenu |
1080 | 1140 | ||
1081 | source "arch/arm/common/Kconfig" | 1141 | source "arch/arm/common/Kconfig" |
@@ -1142,13 +1202,13 @@ source "kernel/time/Kconfig" | |||
1142 | 1202 | ||
1143 | config SMP | 1203 | config SMP |
1144 | bool "Symmetric Multi-Processing (EXPERIMENTAL)" | 1204 | bool "Symmetric Multi-Processing (EXPERIMENTAL)" |
1145 | depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\ | 1205 | 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 | 1206 | depends on GENERIC_CLOCKEVENTS |
1207 | depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \ | ||
1208 | MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\ | ||
1209 | ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 | ||
1149 | select USE_GENERIC_SMP_HELPERS | 1210 | select USE_GENERIC_SMP_HELPERS |
1150 | select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\ | 1211 | select HAVE_ARM_SCU |
1151 | ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 | ||
1152 | help | 1212 | help |
1153 | This enables support for systems with more than one CPU. If you have | 1213 | 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 | 1214 | a system with only one CPU, like most personal computers, say N. If |
@@ -1162,10 +1222,23 @@ config SMP | |||
1162 | 1222 | ||
1163 | See also <file:Documentation/i386/IO-APIC.txt>, | 1223 | See also <file:Documentation/i386/IO-APIC.txt>, |
1164 | <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at | 1224 | <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at |
1165 | <http://www.linuxdoc.org/docs.html#howto>. | 1225 | <http://tldp.org/HOWTO/SMP-HOWTO.html>. |
1166 | 1226 | ||
1167 | If you don't know what to do here, say N. | 1227 | If you don't know what to do here, say N. |
1168 | 1228 | ||
1229 | config SMP_ON_UP | ||
1230 | bool "Allow booting SMP kernel on uniprocessor systems (EXPERIMENTAL)" | ||
1231 | depends on EXPERIMENTAL | ||
1232 | depends on SMP && !XIP && !THUMB2_KERNEL | ||
1233 | default y | ||
1234 | help | ||
1235 | SMP kernels contain instructions which fail on non-SMP processors. | ||
1236 | Enabling this option allows the kernel to modify itself to make | ||
1237 | these instructions safe. Disabling it allows about 1K of space | ||
1238 | savings. | ||
1239 | |||
1240 | If you don't know what to do here, say Y. | ||
1241 | |||
1169 | config HAVE_ARM_SCU | 1242 | config HAVE_ARM_SCU |
1170 | bool | 1243 | bool |
1171 | depends on SMP | 1244 | depends on SMP |
@@ -1216,12 +1289,9 @@ config HOTPLUG_CPU | |||
1216 | 1289 | ||
1217 | config LOCAL_TIMERS | 1290 | config LOCAL_TIMERS |
1218 | bool "Use local timer interrupts" | 1291 | bool "Use local timer interrupts" |
1219 | depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \ | 1292 | 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 | 1293 | default y |
1223 | select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \ | 1294 | select HAVE_ARM_TWD |
1224 | ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS | ||
1225 | help | 1295 | help |
1226 | Enable support for local timers on SMP platforms, rather then the | 1296 | Enable support for local timers on SMP platforms, rather then the |
1227 | legacy IPI broadcast method. Local timers allows the system | 1297 | legacy IPI broadcast method. Local timers allows the system |
@@ -1232,7 +1302,7 @@ source kernel/Kconfig.preempt | |||
1232 | 1302 | ||
1233 | config HZ | 1303 | config HZ |
1234 | int | 1304 | int |
1235 | default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P6440 || \ | 1305 | default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \ |
1236 | ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310 | 1306 | ARCH_S5P6442 || ARCH_S5PV210 || ARCH_S5PV310 |
1237 | default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER | 1307 | default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER |
1238 | default AT91_TIMER_HZ if ARCH_AT91 | 1308 | default AT91_TIMER_HZ if ARCH_AT91 |
@@ -1438,6 +1508,20 @@ config UACCESS_WITH_MEMCPY | |||
1438 | However, if the CPU data cache is using a write-allocate mode, | 1508 | However, if the CPU data cache is using a write-allocate mode, |
1439 | this option is unlikely to provide any performance gain. | 1509 | this option is unlikely to provide any performance gain. |
1440 | 1510 | ||
1511 | config SECCOMP | ||
1512 | bool | ||
1513 | prompt "Enable seccomp to safely compute untrusted bytecode" | ||
1514 | ---help--- | ||
1515 | This kernel feature is useful for number crunching applications | ||
1516 | that may need to compute untrusted bytecode during their | ||
1517 | execution. By using pipes or other transports made available to | ||
1518 | the process as file descriptors supporting the read/write | ||
1519 | syscalls, it's possible to isolate those applications in | ||
1520 | their own address space using seccomp. Once seccomp is | ||
1521 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled | ||
1522 | and the task is only allowed to execute a few safe syscalls | ||
1523 | defined by each seccomp mode. | ||
1524 | |||
1441 | config CC_STACKPROTECTOR | 1525 | config CC_STACKPROTECTOR |
1442 | bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" | 1526 | bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" |
1443 | help | 1527 | help |