diff options
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 155 |
1 files changed, 52 insertions, 103 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0fdd099d4a67..b404e5eec0c1 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 | ||
151 | config ARCH_HAS_CPU_IDLE_WAIT | ||
152 | def_bool y | ||
153 | |||
149 | config GENERIC_HWEIGHT | 154 | config 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 | ||
1005 | config ARM_ERRATA_411920 | 1009 | config 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 | ||
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 | |||
1055 | config PL310_ERRATA_588369 | 1085 | config 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 | ||
1144 | config SMP | 1174 | config 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 | ||
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 | |||
1170 | config HAVE_ARM_SCU | 1213 | config HAVE_ARM_SCU |
1171 | bool | 1214 | bool |
1172 | depends on SMP | 1215 | depends on SMP |
@@ -1217,12 +1260,9 @@ config HOTPLUG_CPU | |||
1217 | 1260 | ||
1218 | config LOCAL_TIMERS | 1261 | config 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 | ||
1580 | config 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 | |||
1671 | endmenu | 1620 | endmenu |
1672 | 1621 | ||
1673 | menu "CPU Power Management" | 1622 | menu "CPU Power Management" |