diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-03-16 19:35:25 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-03-16 19:35:25 -0400 |
commit | 1f0090a1eaa1b750a2fc5c99c91b790d5322a1fd (patch) | |
tree | c685060f260410e6704c9dfd457ed8c347141f1d /arch/arm/Kconfig | |
parent | 2472f3c8d8fc18b25b2cf1574c036e238187c0ff (diff) | |
parent | 10a8c3839810ac9af1aec836d61b92e7a879f5fa (diff) |
Merge branch 'misc' into devel
Conflicts:
arch/arm/Kconfig
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 56 |
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 | ||
66 | config KTIME_SCALAR | ||
67 | bool | ||
68 | default y | ||
69 | |||
66 | config HAVE_TCM | 70 | config HAVE_TCM |
67 | bool | 71 | bool |
68 | select GENERIC_ALLOCATOR | 72 | select GENERIC_ALLOCATOR |
@@ -178,11 +182,6 @@ config FIQ | |||
178 | config ARCH_MTD_XIP | 182 | config ARCH_MTD_XIP |
179 | bool | 183 | bool |
180 | 184 | ||
181 | config ARM_L1_CACHE_SHIFT_6 | ||
182 | bool | ||
183 | help | ||
184 | Setting ARM L1 cache line size to 64 Bytes. | ||
185 | |||
186 | config VECTORS_BASE | 185 | config 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 | ||
1153 | config PL310_ERRATA_588369 | 1152 | config 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 | ||
1167 | config ARM_ERRATA_720789 | 1165 | config 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 | ||
1177 | config 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 | |||
1179 | config ARM_ERRATA_743622 | 1188 | config 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 | ||
1442 | config 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 | |||
1433 | config ARM_ASM_UNIFIED | 1473 | config ARM_ASM_UNIFIED |
1434 | bool | 1474 | bool |
1435 | 1475 | ||