aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
authorDavid Brown <davidb@codeaurora.org>2011-03-17 01:13:16 -0400
committerDavid Brown <davidb@codeaurora.org>2011-03-17 01:13:16 -0400
commit92c260f755c42337c550d8ac1f8ccd1b32bffb20 (patch)
tree6d04fefc1adeecabfb2b00c201e0db78fa2b5529 /arch/arm/Kconfig
parent8e76a80960bf06c245160a484d5a363ca6b520bb (diff)
parent05e34754518b6a90d5c392790c032575fab12d66 (diff)
Merge remote branch 'rmk/for-linus' into for-linus
* rmk/for-linus: (1557 commits) ARM: 6806/1: irq: introduce entry and exit functions for chained handlers ARM: 6781/1: Thumb-2: Work around buggy Thumb-2 short branch relocations in gas ARM: 6747/1: P2V: Thumb2 support ARM: 6798/1: aout-core: zero thread debug registers in a.out core dump ARM: 6796/1: Footbridge: Fix I/O mappings for NOMMU mode ARM: 6784/1: errata: no automatic Store Buffer drain on Cortex-A9 ARM: 6772/1: errata: possible fault MMU translations following an ASID switch ARM: 6776/1: mach-ux500: activate fix for errata 753970 ARM: 6794/1: SPEAr: Append UL to device address macros. ARM: 6793/1: SPEAr: Remove unused *_SIZE macros from spear*.h files ARM: 6792/1: SPEAr: Replace SIZE macro's with SZ_4K macros ARM: 6791/1: SPEAr3xx: Declare device structures after shirq code ARM: 6790/1: SPEAr: Clock Framework: Rename usbd clock and align apb_clk entry ARM: 6789/1: SPEAr3xx: Rename sdio to sdhci ARM: 6788/1: SPEAr: Include mach/hardware.h instead of mach/spear.h ARM: 6787/1: SPEAr: Reorder #includes in .h & .c files. ARM: 6681/1: SPEAr: add debugfs support to clk API ARM: 6703/1: SPEAr: update clk API support ARM: 6679/1: SPEAr: make clk API functions more generic ARM: 6737/1: SPEAr: formalized timer support ... Conflicts: arch/arm/mach-msm/board-msm7x27.c arch/arm/mach-msm/board-msm7x30.c arch/arm/mach-msm/board-qsd8x50.c arch/arm/mach-msm/board-sapphire.c arch/arm/mach-msm/include/mach/memory.h
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig161
1 files changed, 145 insertions, 16 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4d266509b451..169db59f6bcb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -7,7 +7,7 @@ config ARM
7 select HAVE_MEMBLOCK 7 select HAVE_MEMBLOCK
8 select RTC_LIB 8 select RTC_LIB
9 select SYS_SUPPORTS_APM_EMULATION 9 select SYS_SUPPORTS_APM_EMULATION
10 select GENERIC_ATOMIC64 if (!CPU_32v6K || !AEABI) 10 select GENERIC_ATOMIC64 if (CPU_V6 || !CPU_32v6K || !AEABI)
11 select HAVE_OPROFILE if (HAVE_PERF_EVENTS) 11 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
12 select HAVE_ARCH_KGDB 12 select HAVE_ARCH_KGDB
13 select HAVE_KPROBES if (!XIP_KERNEL && !THUMB2_KERNEL) 13 select HAVE_KPROBES if (!XIP_KERNEL && !THUMB2_KERNEL)
@@ -24,7 +24,7 @@ config ARM
24 select HAVE_PERF_EVENTS 24 select HAVE_PERF_EVENTS
25 select PERF_USE_VMALLOC 25 select PERF_USE_VMALLOC
26 select HAVE_REGS_AND_STACK_ACCESS_API 26 select HAVE_REGS_AND_STACK_ACCESS_API
27 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V7)) 27 select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7))
28 select HAVE_C_RECORDMCOUNT 28 select HAVE_C_RECORDMCOUNT
29 select HAVE_GENERIC_HARDIRQS 29 select HAVE_GENERIC_HARDIRQS
30 select HAVE_SPARSE_IRQ 30 select HAVE_SPARSE_IRQ
@@ -63,6 +63,10 @@ config GENERIC_CLOCKEVENTS_BROADCAST
63 depends on GENERIC_CLOCKEVENTS 63 depends on GENERIC_CLOCKEVENTS
64 default y if SMP 64 default y if SMP
65 65
66config KTIME_SCALAR
67 bool
68 default y
69
66config HAVE_TCM 70config HAVE_TCM
67 bool 71 bool
68 select GENERIC_ALLOCATOR 72 select GENERIC_ALLOCATOR
@@ -178,11 +182,6 @@ config FIQ
178config ARCH_MTD_XIP 182config ARCH_MTD_XIP
179 bool 183 bool
180 184
181config ARM_L1_CACHE_SHIFT_6
182 bool
183 help
184 Setting ARM L1 cache line size to 64 Bytes.
185
186config VECTORS_BASE 185config VECTORS_BASE
187 hex 186 hex
188 default 0xffff0000 if MMU || CPU_HIGH_VECTOR 187 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
@@ -191,6 +190,22 @@ config VECTORS_BASE
191 help 190 help
192 The base address of exception vectors. 191 The base address of exception vectors.
193 192
193config ARM_PATCH_PHYS_VIRT
194 bool "Patch physical to virtual translations at runtime (EXPERIMENTAL)"
195 depends on EXPERIMENTAL
196 depends on !XIP_KERNEL && MMU
197 depends on !ARCH_REALVIEW || !SPARSEMEM
198 help
199 Patch phys-to-virt translation functions at runtime according to
200 the position of the kernel in system memory.
201
202 This can only be used with non-XIP with MMU kernels where
203 the base of physical memory is at a 16MB boundary.
204
205config ARM_PATCH_PHYS_VIRT_16BIT
206 def_bool y
207 depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
208
194source "init/Kconfig" 209source "init/Kconfig"
195 210
196source "kernel/Kconfig.freezer" 211source "kernel/Kconfig.freezer"
@@ -346,7 +361,7 @@ config ARCH_FOOTBRIDGE
346 bool "FootBridge" 361 bool "FootBridge"
347 select CPU_SA110 362 select CPU_SA110
348 select FOOTBRIDGE 363 select FOOTBRIDGE
349 select ARCH_USES_GETTIMEOFFSET 364 select GENERIC_CLOCKEVENTS
350 help 365 help
351 Support for systems based on the DC21285 companion chip 366 Support for systems based on the DC21285 companion chip
352 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder. 367 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -457,6 +472,7 @@ config ARCH_IXP4XX
457 472
458config ARCH_DOVE 473config ARCH_DOVE
459 bool "Marvell Dove" 474 bool "Marvell Dove"
475 select CPU_V6K
460 select PCI 476 select PCI
461 select ARCH_REQUIRE_GPIOLIB 477 select ARCH_REQUIRE_GPIOLIB
462 select GENERIC_CLOCKEVENTS 478 select GENERIC_CLOCKEVENTS
@@ -876,6 +892,16 @@ config PLAT_SPEAR
876 help 892 help
877 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). 893 Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx).
878 894
895config ARCH_VT8500
896 bool "VIA/WonderMedia 85xx"
897 select CPU_ARM926T
898 select GENERIC_GPIO
899 select ARCH_HAS_CPUFREQ
900 select GENERIC_CLOCKEVENTS
901 select ARCH_REQUIRE_GPIOLIB
902 select HAVE_PWM
903 help
904 Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
879endchoice 905endchoice
880 906
881# 907#
@@ -1008,6 +1034,8 @@ source "arch/arm/mach-versatile/Kconfig"
1008 1034
1009source "arch/arm/mach-vexpress/Kconfig" 1035source "arch/arm/mach-vexpress/Kconfig"
1010 1036
1037source "arch/arm/mach-vt8500/Kconfig"
1038
1011source "arch/arm/mach-w90x900/Kconfig" 1039source "arch/arm/mach-w90x900/Kconfig"
1012 1040
1013# Definitions to make life easier 1041# Definitions to make life easier
@@ -1049,7 +1077,7 @@ config XSCALE_PMU
1049 default y 1077 default y
1050 1078
1051config CPU_HAS_PMU 1079config CPU_HAS_PMU
1052 depends on (CPU_V6 || CPU_V7 || XSCALE_PMU) && \ 1080 depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
1053 (!ARCH_OMAP3 || OMAP3_EMU) 1081 (!ARCH_OMAP3 || OMAP3_EMU)
1054 default y 1082 default y
1055 bool 1083 bool
@@ -1065,7 +1093,7 @@ endif
1065 1093
1066config ARM_ERRATA_411920 1094config ARM_ERRATA_411920
1067 bool "ARM errata: Invalidation of the Instruction Cache operation can fail" 1095 bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
1068 depends on CPU_V6 1096 depends on CPU_V6 || CPU_V6K
1069 help 1097 help
1070 Invalidation of the Instruction Cache operation can 1098 Invalidation of the Instruction Cache operation can
1071 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176. 1099 fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
@@ -1141,7 +1169,7 @@ config ARM_ERRATA_742231
1141 1169
1142config PL310_ERRATA_588369 1170config PL310_ERRATA_588369
1143 bool "Clean & Invalidate maintenance operations do not invalidate clean lines" 1171 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1144 depends on CACHE_L2X0 && ARCH_OMAP4 1172 depends on CACHE_L2X0
1145 help 1173 help
1146 The PL310 L2 cache controller implements three types of Clean & 1174 The PL310 L2 cache controller implements three types of Clean &
1147 Invalidate maintenance operations: by Physical Address 1175 Invalidate maintenance operations: by Physical Address
@@ -1150,8 +1178,7 @@ config PL310_ERRATA_588369
1150 clean operation followed immediately by an invalidate operation, 1178 clean operation followed immediately by an invalidate operation,
1151 both performing to the same memory location. This functionality 1179 both performing to the same memory location. This functionality
1152 is not correctly implemented in PL310 as clean lines are not 1180 is not correctly implemented in PL310 as clean lines are not
1153 invalidated as a result of these operations. Note that this errata 1181 invalidated as a result of these operations.
1154 uses Texas Instrument's secure monitor api.
1155 1182
1156config ARM_ERRATA_720789 1183config ARM_ERRATA_720789
1157 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" 1184 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
@@ -1165,6 +1192,17 @@ config ARM_ERRATA_720789
1165 tables. The workaround changes the TLB flushing routines to invalidate 1192 tables. The workaround changes the TLB flushing routines to invalidate
1166 entries regardless of the ASID. 1193 entries regardless of the ASID.
1167 1194
1195config PL310_ERRATA_727915
1196 bool "Background Clean & Invalidate by Way operation can cause data corruption"
1197 depends on CACHE_L2X0
1198 help
1199 PL310 implements the Clean & Invalidate by Way L2 cache maintenance
1200 operation (offset 0x7FC). This operation runs in background so that
1201 PL310 can handle normal accesses while it is in progress. Under very
1202 rare circumstances, due to this erratum, write data can be lost when
1203 PL310 treats a cacheable write transaction during a Clean &
1204 Invalidate by Way operation.
1205
1168config ARM_ERRATA_743622 1206config ARM_ERRATA_743622
1169 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" 1207 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
1170 depends on CPU_V7 1208 depends on CPU_V7
@@ -1178,6 +1216,53 @@ config ARM_ERRATA_743622
1178 visible impact on the overall performance or power consumption of the 1216 visible impact on the overall performance or power consumption of the
1179 processor. 1217 processor.
1180 1218
1219config ARM_ERRATA_751472
1220 bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
1221 depends on CPU_V7 && SMP
1222 help
1223 This option enables the workaround for the 751472 Cortex-A9 (prior
1224 to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
1225 completion of a following broadcasted operation if the second
1226 operation is received by a CPU before the ICIALLUIS has completed,
1227 potentially leading to corrupted entries in the cache or TLB.
1228
1229config ARM_ERRATA_753970
1230 bool "ARM errata: cache sync operation may be faulty"
1231 depends on CACHE_PL310
1232 help
1233 This option enables the workaround for the 753970 PL310 (r3p0) erratum.
1234
1235 Under some condition the effect of cache sync operation on
1236 the store buffer still remains when the operation completes.
1237 This means that the store buffer is always asked to drain and
1238 this prevents it from merging any further writes. The workaround
1239 is to replace the normal offset of cache sync operation (0x730)
1240 by another offset targeting an unmapped PL310 register 0x740.
1241 This has the same effect as the cache sync operation: store buffer
1242 drain and waiting for all buffers empty.
1243
1244config ARM_ERRATA_754322
1245 bool "ARM errata: possible faulty MMU translations following an ASID switch"
1246 depends on CPU_V7
1247 help
1248 This option enables the workaround for the 754322 Cortex-A9 (r2p*,
1249 r3p*) erratum. A speculative memory access may cause a page table walk
1250 which starts prior to an ASID switch but completes afterwards. This
1251 can populate the micro-TLB with a stale entry which may be hit with
1252 the new ASID. This workaround places two dsb instructions in the mm
1253 switching code so that no page table walks can cross the ASID switch.
1254
1255config ARM_ERRATA_754327
1256 bool "ARM errata: no automatic Store Buffer drain"
1257 depends on CPU_V7 && SMP
1258 help
1259 This option enables the workaround for the 754327 Cortex-A9 (prior to
1260 r2p0) erratum. The Store Buffer does not have any automatic draining
1261 mechanism and therefore a livelock may occur if an external agent
1262 continuously polls a memory location waiting to observe an update.
1263 This workaround defines cpu_relax() as smp_mb(), preventing correctly
1264 written polling loops from denying visibility of updates to memory.
1265
1181endmenu 1266endmenu
1182 1267
1183source "arch/arm/common/Kconfig" 1268source "arch/arm/common/Kconfig"
@@ -1251,6 +1336,7 @@ source "kernel/time/Kconfig"
1251config SMP 1336config SMP
1252 bool "Symmetric Multi-Processing (EXPERIMENTAL)" 1337 bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1253 depends on EXPERIMENTAL 1338 depends on EXPERIMENTAL
1339 depends on CPU_V6K || CPU_V7
1254 depends on GENERIC_CLOCKEVENTS 1340 depends on GENERIC_CLOCKEVENTS
1255 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \ 1341 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
1256 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \ 1342 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
@@ -1362,7 +1448,7 @@ config HZ
1362 1448
1363config THUMB2_KERNEL 1449config THUMB2_KERNEL
1364 bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)" 1450 bool "Compile the kernel in Thumb-2 mode (EXPERIMENTAL)"
1365 depends on CPU_V7 && !CPU_V6 && EXPERIMENTAL 1451 depends on CPU_V7 && !CPU_V6 && !CPU_V6K && EXPERIMENTAL
1366 select AEABI 1452 select AEABI
1367 select ARM_ASM_UNIFIED 1453 select ARM_ASM_UNIFIED
1368 help 1454 help
@@ -1372,6 +1458,37 @@ config THUMB2_KERNEL
1372 1458
1373 If unsure, say N. 1459 If unsure, say N.
1374 1460
1461config THUMB2_AVOID_R_ARM_THM_JUMP11
1462 bool "Work around buggy Thumb-2 short branch relocations in gas"
1463 depends on THUMB2_KERNEL && MODULES
1464 default y
1465 help
1466 Various binutils versions can resolve Thumb-2 branches to
1467 locally-defined, preemptible global symbols as short-range "b.n"
1468 branch instructions.
1469
1470 This is a problem, because there's no guarantee the final
1471 destination of the symbol, or any candidate locations for a
1472 trampoline, are within range of the branch. For this reason, the
1473 kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1474 relocation in modules at all, and it makes little sense to add
1475 support.
1476
1477 The symptom is that the kernel fails with an "unsupported
1478 relocation" error when loading some modules.
1479
1480 Until fixed tools are available, passing
1481 -fno-optimize-sibling-calls to gcc should prevent gcc generating
1482 code which hits this problem, at the cost of a bit of extra runtime
1483 stack usage in some cases.
1484
1485 The problem is described in more detail at:
1486 https://bugs.launchpad.net/binutils-linaro/+bug/725126
1487
1488 Only Thumb-2 kernels are affected.
1489
1490 Unless you are sure your tools don't have this problem, say Y.
1491
1375config ARM_ASM_UNIFIED 1492config ARM_ASM_UNIFIED
1376 bool 1493 bool
1377 1494
@@ -1392,7 +1509,7 @@ config AEABI
1392 1509
1393config OABI_COMPAT 1510config OABI_COMPAT
1394 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)" 1511 bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
1395 depends on AEABI && EXPERIMENTAL 1512 depends on AEABI && EXPERIMENTAL && !THUMB2_KERNEL
1396 default y 1513 default y
1397 help 1514 help
1398 This option preserves the old syscall interface along with the 1515 This option preserves the old syscall interface along with the
@@ -1620,6 +1737,18 @@ config ZBOOT_ROM
1620 Say Y here if you intend to execute your compressed kernel image 1737 Say Y here if you intend to execute your compressed kernel image
1621 (zImage) directly from ROM or flash. If unsure, say N. 1738 (zImage) directly from ROM or flash. If unsure, say N.
1622 1739
1740config ZBOOT_ROM_MMCIF
1741 bool "Include MMCIF loader in zImage (EXPERIMENTAL)"
1742 depends on ZBOOT_ROM && ARCH_SH7372 && EXPERIMENTAL
1743 help
1744 Say Y here to include experimental MMCIF loading code in the
1745 ROM-able zImage. With this enabled it is possible to write the
1746 the ROM-able zImage kernel image to an MMC card and boot the
1747 kernel straight from the reset vector. At reset the processor
1748 Mask ROM will load the first part of the the ROM-able zImage
1749 which in turn loads the rest the kernel image to RAM using the
1750 MMCIF hardware block.
1751
1623config CMDLINE 1752config CMDLINE
1624 string "Default kernel command string" 1753 string "Default kernel command string"
1625 default "" 1754 default ""
@@ -1853,7 +1982,7 @@ config FPE_FASTFPE
1853 1982
1854config VFP 1983config VFP
1855 bool "VFP-format floating point maths" 1984 bool "VFP-format floating point maths"
1856 depends on CPU_V6 || CPU_ARM926T || CPU_V7 || CPU_FEROCEON 1985 depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
1857 help 1986 help
1858 Say Y to include VFP support code in the kernel. This is needed 1987 Say Y to include VFP support code in the kernel. This is needed
1859 if your hardware includes a VFP unit. 1988 if your hardware includes a VFP unit.