aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig155
1 files changed, 52 insertions, 103 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 0fdd099d4a6..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
@@ -146,6 +148,9 @@ config ARCH_HAS_CPUFREQ
146 and that the relevant menu configurations are displayed for 148 and that the relevant menu configurations are displayed for
147 it. 149 it.
148 150
151config ARCH_HAS_CPU_IDLE_WAIT
152 def_bool y
153
149config GENERIC_HWEIGHT 154config GENERIC_HWEIGHT
150 bool 155 bool
151 default y 156 default y
@@ -272,7 +277,6 @@ config ARCH_AT91
272 bool "Atmel AT91" 277 bool "Atmel AT91"
273 select ARCH_REQUIRE_GPIOLIB 278 select ARCH_REQUIRE_GPIOLIB
274 select HAVE_CLK 279 select HAVE_CLK
275 select ARCH_USES_GETTIMEOFFSET
276 help 280 help
277 This enables support for systems based on the Atmel AT91RM9200, 281 This enables support for systems based on the Atmel AT91RM9200,
278 AT91SAM9 and AT91CAP9 processors. 282 AT91SAM9 and AT91CAP9 processors.
@@ -1004,7 +1008,7 @@ endif
1004 1008
1005config ARM_ERRATA_411920 1009config ARM_ERRATA_411920
1006 bool "ARM errata: Invalidation of the Instruction Cache operation can fail" 1010 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
1007 depends on CPU_V6 && !SMP 1011 depends on CPU_V6
1008 help 1012 help
1009 Invalidation of the Instruction Cache operation can 1013 Invalidation of the Instruction Cache operation can
1010 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.
@@ -1052,6 +1056,32 @@ config ARM_ERRATA_460075
1052 ACTLR register. Note that setting specific bits in the ACTLR register 1056 ACTLR register. Note that setting specific bits in the ACTLR register
1053 may not be available in non-secure mode. 1057 may not be available in non-secure mode.
1054 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
1055config PL310_ERRATA_588369 1085config PL310_ERRATA_588369
1056 bool "Clean & Invalidate maintenance operations do not invalidate clean lines" 1086 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1057 depends on CACHE_L2X0 && ARCH_OMAP4 1087 depends on CACHE_L2X0 && ARCH_OMAP4
@@ -1143,13 +1173,13 @@ source "kernel/time/Kconfig"
1143 1173
1144config SMP 1174config SMP
1145 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 1175 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1146 depends on EXPERIMENTAL && (REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP ||\ 1176 depends on EXPERIMENTAL
1147 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 ||\
1148 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1149 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
1150 select USE_GENERIC_SMP_HELPERS 1181 select USE_GENERIC_SMP_HELPERS
1151 select HAVE_ARM_SCU if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 ||\ 1182 select HAVE_ARM_SCU
1152 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
1153 help 1183 help
1154 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
1155 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
@@ -1167,6 +1197,19 @@ config SMP
1167 1197
1168 If you don't know what to do here, say N. 1198 If you don't know what to do here, say N.
1169 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
1170config HAVE_ARM_SCU 1213config HAVE_ARM_SCU
1171 bool 1214 bool
1172 depends on SMP 1215 depends on SMP
@@ -1217,12 +1260,9 @@ config HOTPLUG_CPU
1217 1260
1218config LOCAL_TIMERS 1261config LOCAL_TIMERS
1219 bool "Use local timer interrupts" 1262 bool "Use local timer interrupts"
1220 depends on SMP && (REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || \ 1263 depends on SMP
1221 REALVIEW_EB_A9MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
1222 ARCH_S5PV310 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4)
1223 default y 1264 default y
1224 select HAVE_ARM_TWD if ARCH_REALVIEW || ARCH_OMAP4 || ARCH_S5PV310 || \ 1265 select HAVE_ARM_TWD
1225 ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS
1226 help 1266 help
1227 Enable support for local timers on SMP platforms, rather then the 1267 Enable support for local timers on SMP platforms, rather then the
1228 legacy IPI broadcast method. Local timers allows the system 1268 legacy IPI broadcast method. Local timers allows the system
@@ -1577,97 +1617,6 @@ config AUTO_ZRELADDR
1577 0xf8000000. This assumes the zImage being placed in the first 128MB 1617 0xf8000000. This assumes the zImage being placed in the first 128MB
1578 from start of memory. 1618 from start of memory.
1579 1619
1580config ZRELADDR
1581 hex "Physical address of the decompressed kernel image"
1582 depends on !AUTO_ZRELADDR
1583 default 0x00008000 if ARCH_BCMRING ||\
1584 ARCH_CNS3XXX ||\
1585 ARCH_DOVE ||\
1586 ARCH_EBSA110 ||\
1587 ARCH_FOOTBRIDGE ||\
1588 ARCH_INTEGRATOR ||\
1589 ARCH_IOP13XX ||\
1590 ARCH_IOP33X ||\
1591 ARCH_IXP2000 ||\
1592 ARCH_IXP23XX ||\
1593 ARCH_IXP4XX ||\
1594 ARCH_KIRKWOOD ||\
1595 ARCH_KS8695 ||\
1596 ARCH_LOKI ||\
1597 ARCH_MMP ||\
1598 ARCH_MV78XX0 ||\
1599 ARCH_NOMADIK ||\
1600 ARCH_NUC93X ||\
1601 ARCH_NS9XXX ||\
1602 ARCH_ORION5X ||\
1603 ARCH_SPEAR3XX ||\
1604 ARCH_SPEAR6XX ||\
1605 ARCH_TEGRA ||\
1606 ARCH_U8500 ||\
1607 ARCH_VERSATILE ||\
1608 ARCH_W90X900
1609 default 0x08008000 if ARCH_MX1 ||\
1610 ARCH_SHARK
1611 default 0x10008000 if ARCH_MSM ||\
1612 ARCH_OMAP1 ||\
1613 ARCH_RPC
1614 default 0x20008000 if ARCH_S5P6440 ||\
1615 ARCH_S5P6442 ||\
1616 ARCH_S5PC100 ||\
1617 ARCH_S5PV210
1618 default 0x30008000 if ARCH_S3C2410 ||\
1619 ARCH_S3C2400 ||\
1620 ARCH_S3C2412 ||\
1621 ARCH_S3C2416 ||\
1622 ARCH_S3C2440 ||\
1623 ARCH_S3C2443
1624 default 0x40008000 if ARCH_STMP378X ||\
1625 ARCH_STMP37XX ||\
1626 ARCH_SH7372 ||\
1627 ARCH_SH7377 ||\
1628 ARCH_S5PV310
1629 default 0x50008000 if ARCH_S3C64XX ||\
1630 ARCH_SH7367
1631 default 0x60008000 if ARCH_VEXPRESS
1632 default 0x80008000 if ARCH_MX25 ||\
1633 ARCH_MX3 ||\
1634 ARCH_NETX ||\
1635 ARCH_OMAP2PLUS ||\
1636 ARCH_PNX4008
1637 default 0x90008000 if ARCH_MX5 ||\
1638 ARCH_MX91231
1639 default 0xa0008000 if ARCH_IOP32X ||\
1640 ARCH_PXA ||\
1641 MACH_MX27
1642 default 0xc0008000 if ARCH_LH7A40X ||\
1643 MACH_MX21
1644 default 0xf0008000 if ARCH_AAEC2000 ||\
1645 ARCH_L7200
1646 default 0xc0028000 if ARCH_CLPS711X
1647 default 0x70008000 if ARCH_AT91 && (ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1648 default 0x20008000 if ARCH_AT91 && !(ARCH_AT91CAP9 || ARCH_AT91SAM9G45)
1649 default 0xc0008000 if ARCH_DAVINCI && ARCH_DAVINCI_DA8XX
1650 default 0x80008000 if ARCH_DAVINCI && !ARCH_DAVINCI_DA8XX
1651 default 0x00008000 if ARCH_EP93XX && EP93XX_SDCE3_SYNC_PHYS_OFFSET
1652 default 0xc0008000 if ARCH_EP93XX && EP93XX_SDCE0_PHYS_OFFSET
1653 default 0xd0008000 if ARCH_EP93XX && EP93XX_SDCE1_PHYS_OFFSET
1654 default 0xe0008000 if ARCH_EP93XX && EP93XX_SDCE2_PHYS_OFFSET
1655 default 0xf0008000 if ARCH_EP93XX && EP93XX_SDCE3_ASYNC_PHYS_OFFSET
1656 default 0x00008000 if ARCH_GEMINI && GEMINI_MEM_SWAP
1657 default 0x10008000 if ARCH_GEMINI && !GEMINI_MEM_SWAP
1658 default 0x70008000 if ARCH_REALVIEW && REALVIEW_HIGH_PHYS_OFFSET
1659 default 0x00008000 if ARCH_REALVIEW && !REALVIEW_HIGH_PHYS_OFFSET
1660 default 0xc0208000 if ARCH_SA1100 && SA1111
1661 default 0xc0008000 if ARCH_SA1100 && !SA1111
1662 default 0x30108000 if ARCH_S3C2410 && PM_H1940
1663 default 0x28E08000 if ARCH_U300 && MACH_U300_SINGLE_RAM
1664 default 0x48008000 if ARCH_U300 && !MACH_U300_SINGLE_RAM
1665 help
1666 ZRELADDR is the physical address where the decompressed kernel
1667 image will be placed. ZRELADDR has to be specified when the
1668 assumption of AUTO_ZRELADDR is not valid, or when ZBOOT_ROM is
1669 selected.
1670
1671endmenu 1620endmenu
1672 1621
1673menu "CPU Power Management" 1622menu "CPU Power Management"