aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/Kconfig
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-03-16 19:35:25 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-03-16 19:35:25 -0400
commit1f0090a1eaa1b750a2fc5c99c91b790d5322a1fd (patch)
treec685060f260410e6704c9dfd457ed8c347141f1d /arch/arm/Kconfig
parent2472f3c8d8fc18b25b2cf1574c036e238187c0ff (diff)
parent10a8c3839810ac9af1aec836d61b92e7a879f5fa (diff)
Merge branch 'misc' into devel
Conflicts: arch/arm/Kconfig
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r--arch/arm/Kconfig56
1 files changed, 48 insertions, 8 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 38bf684448e7..1fd3f280b584 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -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
@@ -1152,7 +1151,7 @@ config ARM_ERRATA_742231
1152 1151
1153config PL310_ERRATA_588369 1152config PL310_ERRATA_588369
1154 bool "Clean & Invalidate maintenance operations do not invalidate clean lines" 1153 bool "Clean & Invalidate maintenance operations do not invalidate clean lines"
1155 depends on CACHE_L2X0 && ARCH_OMAP4 1154 depends on CACHE_L2X0
1156 help 1155 help
1157 The PL310 L2 cache controller implements three types of Clean & 1156 The PL310 L2 cache controller implements three types of Clean &
1158 Invalidate maintenance operations: by Physical Address 1157 Invalidate maintenance operations: by Physical Address
@@ -1161,8 +1160,7 @@ config PL310_ERRATA_588369
1161 clean operation followed immediately by an invalidate operation, 1160 clean operation followed immediately by an invalidate operation,
1162 both performing to the same memory location. This functionality 1161 both performing to the same memory location. This functionality
1163 is not correctly implemented in PL310 as clean lines are not 1162 is not correctly implemented in PL310 as clean lines are not
1164 invalidated as a result of these operations. Note that this errata 1163 invalidated as a result of these operations.
1165 uses Texas Instrument's secure monitor api.
1166 1164
1167config ARM_ERRATA_720789 1165config ARM_ERRATA_720789
1168 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID" 1166 bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
@@ -1176,6 +1174,17 @@ config ARM_ERRATA_720789
1176 tables. The workaround changes the TLB flushing routines to invalidate 1174 tables. The workaround changes the TLB flushing routines to invalidate
1177 entries regardless of the ASID. 1175 entries regardless of the ASID.
1178 1176
1177config PL310_ERRATA_727915
1178 bool "Background Clean & Invalidate by Way operation can cause data corruption"
1179 depends on CACHE_L2X0
1180 help
1181 PL310 implements the Clean & Invalidate by Way L2 cache maintenance
1182 operation (offset 0x7FC). This operation runs in background so that
1183 PL310 can handle normal accesses while it is in progress. Under very
1184 rare circumstances, due to this erratum, write data can be lost when
1185 PL310 treats a cacheable write transaction during a Clean &
1186 Invalidate by Way operation.
1187
1179config ARM_ERRATA_743622 1188config ARM_ERRATA_743622
1180 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" 1189 bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
1181 depends on CPU_V7 1190 depends on CPU_V7
@@ -1430,6 +1439,37 @@ config THUMB2_KERNEL
1430 1439
1431 If unsure, say N. 1440 If unsure, say N.
1432 1441
1442config THUMB2_AVOID_R_ARM_THM_JUMP11
1443 bool "Work around buggy Thumb-2 short branch relocations in gas"
1444 depends on THUMB2_KERNEL && MODULES
1445 default y
1446 help
1447 Various binutils versions can resolve Thumb-2 branches to
1448 locally-defined, preemptible global symbols as short-range "b.n"
1449 branch instructions.
1450
1451 This is a problem, because there's no guarantee the final
1452 destination of the symbol, or any candidate locations for a
1453 trampoline, are within range of the branch. For this reason, the
1454 kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
1455 relocation in modules at all, and it makes little sense to add
1456 support.
1457
1458 The symptom is that the kernel fails with an "unsupported
1459 relocation" error when loading some modules.
1460
1461 Until fixed tools are available, passing
1462 -fno-optimize-sibling-calls to gcc should prevent gcc generating
1463 code which hits this problem, at the cost of a bit of extra runtime
1464 stack usage in some cases.
1465
1466 The problem is described in more detail at:
1467 https://bugs.launchpad.net/binutils-linaro/+bug/725126
1468
1469 Only Thumb-2 kernels are affected.
1470
1471 Unless you are sure your tools don't have this problem, say Y.
1472
1433config ARM_ASM_UNIFIED 1473config ARM_ASM_UNIFIED
1434 bool 1474 bool
1435 1475