aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig120
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
152config ARCH_HAS_CPU_IDLE_WAIT
153 def_bool y
154
148config GENERIC_HWEIGHT 155config 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
682config ARCH_S5P6440 690config 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
694config ARCH_S5P6442 703config 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
760config 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
751config ARCH_LH7A40X 769config 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
917source "arch/arm/plat-spear/Kconfig" 935source "arch/arm/plat-spear/Kconfig"
918 936
937source "arch/arm/plat-tcc/Kconfig"
938
919if ARCH_S3C2410 939if ARCH_S3C2410
920source "arch/arm/mach-s3c2400/Kconfig" 940source "arch/arm/mach-s3c2400/Kconfig"
921source "arch/arm/mach-s3c2410/Kconfig" 941source "arch/arm/mach-s3c2410/Kconfig"
@@ -929,7 +949,7 @@ if ARCH_S3C64XX
929source "arch/arm/mach-s3c64xx/Kconfig" 949source "arch/arm/mach-s3c64xx/Kconfig"
930endif 950endif
931 951
932source "arch/arm/mach-s5p6440/Kconfig" 952source "arch/arm/mach-s5p64x0/Kconfig"
933 953
934source "arch/arm/mach-s5p6442/Kconfig" 954source "arch/arm/mach-s5p6442/Kconfig"
935 955
@@ -1003,7 +1023,7 @@ endif
1003 1023
1004config ARM_ERRATA_411920 1024config 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
1074config 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
1086config 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
1054config PL310_ERRATA_588369 1100config 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
1126config 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
1079endmenu 1139endmenu
1080 1140
1081source "arch/arm/common/Kconfig" 1141source "arch/arm/common/Kconfig"
@@ -1142,13 +1202,13 @@ source "kernel/time/Kconfig"
1142 1202
1143config SMP 1203config 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
1229config 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
1169config HAVE_ARM_SCU 1242config HAVE_ARM_SCU
1170 bool 1243 bool
1171 depends on SMP 1244 depends on SMP
@@ -1216,12 +1289,9 @@ config HOTPLUG_CPU
1216 1289
1217config LOCAL_TIMERS 1290config 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
1233config HZ 1303config 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
1511config 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
1441config CC_STACKPROTECTOR 1525config CC_STACKPROTECTOR
1442 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 1526 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1443 help 1527 help