diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-05 18:57:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-06-05 18:57:04 -0400 |
commit | eb3d3ec567e868c8a3bfbfdfc9465ffd52983d11 (patch) | |
tree | 75acf38b8d73cd281e5ce4dcc941faf48e244b98 /arch/arm/Kconfig | |
parent | c3c55a07203947f72afa50a3218460b27307c47d (diff) | |
parent | bd63ce27d9d62bc40a962b991cbbbe4f0dc913d2 (diff) |
Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm into next
Pull ARM updates from Russell King:
- Major clean-up of the L2 cache support code. The existing mess was
becoming rather unmaintainable through all the additions that others
have done over time. This turns it into a much nicer structure, and
implements a few performance improvements as well.
- Clean up some of the CP15 control register tweaks for alignment
support, moving some code and data into alignment.c
- DMA properties for ARM, from Santosh and reviewed by DT people. This
adds DT properties to specify bus translations we can't discover
automatically, and to indicate whether devices are coherent.
- Hibernation support for ARM
- Make ftrace work with read-only text in modules
- add suspend support for PJ4B CPUs
- rework interrupt masking for undefined instruction handling, which
allows us to enable interrupts earlier in the handling of these
exceptions.
- support for big endian page tables
- fix stacktrace support to exclude stacktrace functions from the
trace, and add save_stack_trace_regs() implementation so that kprobes
can record stack traces.
- Add support for the Cortex-A17 CPU.
- Remove last vestiges of ARM710 support.
- Removal of ARM "meminfo" structure, finally converting us solely to
memblock to handle the early memory initialisation.
* 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (142 commits)
ARM: ensure C page table setup code follows assembly code (part II)
ARM: ensure C page table setup code follows assembly code
ARM: consolidate last remaining open-coded alignment trap enable
ARM: remove global cr_no_alignment
ARM: remove CPU_CP15 conditional from alignment.c
ARM: remove unused adjust_cr() function
ARM: move "noalign" command line option to alignment.c
ARM: provide common method to clear bits in CPU control register
ARM: 8025/1: Get rid of meminfo
ARM: 8060/1: mm: allow sub-architectures to override PCI I/O memory type
ARM: 8066/1: correction for ARM patch 8031/2
ARM: 8049/1: ftrace/add save_stack_trace_regs() implementation
ARM: 8065/1: remove last use of CONFIG_CPU_ARM710
ARM: 8062/1: Modify ldrt fixup handler to re-execute the userspace instruction
ARM: 8047/1: rwsem: use asm-generic rwsem implementation
ARM: l2c: trial at enabling some Cortex-A9 optimisations
ARM: l2c: add warnings for stuff modifying aux_ctrl register values
ARM: l2c: print a warning with L2C-310 caches if the cache size is modified
ARM: l2c: remove old .set_debug method
ARM: l2c: kill L2X0_AUX_CTRL_MASK before anyone else makes use of this
...
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 66 |
1 files changed, 6 insertions, 60 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ad89a033f17f..87b63fde06d7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -165,12 +165,9 @@ config TRACE_IRQFLAGS_SUPPORT | |||
165 | bool | 165 | bool |
166 | default y | 166 | default y |
167 | 167 | ||
168 | config RWSEM_GENERIC_SPINLOCK | ||
169 | bool | ||
170 | default y | ||
171 | |||
172 | config RWSEM_XCHGADD_ALGORITHM | 168 | config RWSEM_XCHGADD_ALGORITHM |
173 | bool | 169 | bool |
170 | default y | ||
174 | 171 | ||
175 | config ARCH_HAS_ILOG2_U32 | 172 | config ARCH_HAS_ILOG2_U32 |
176 | bool | 173 | bool |
@@ -1089,11 +1086,6 @@ source "arch/arm/firmware/Kconfig" | |||
1089 | 1086 | ||
1090 | source arch/arm/mm/Kconfig | 1087 | source arch/arm/mm/Kconfig |
1091 | 1088 | ||
1092 | config ARM_NR_BANKS | ||
1093 | int | ||
1094 | default 16 if ARCH_EP93XX | ||
1095 | default 8 | ||
1096 | |||
1097 | config IWMMXT | 1089 | config IWMMXT |
1098 | bool "Enable iWMMXt support" | 1090 | bool "Enable iWMMXt support" |
1099 | depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B | 1091 | depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B |
@@ -1214,19 +1206,6 @@ config ARM_ERRATA_742231 | |||
1214 | register of the Cortex-A9 which reduces the linefill issuing | 1206 | register of the Cortex-A9 which reduces the linefill issuing |
1215 | capabilities of the processor. | 1207 | capabilities of the processor. |
1216 | 1208 | ||
1217 | config PL310_ERRATA_588369 | ||
1218 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" | ||
1219 | depends on CACHE_L2X0 | ||
1220 | help | ||
1221 | The PL310 L2 cache controller implements three types of Clean & | ||
1222 | Invalidate maintenance operations: by Physical Address | ||
1223 | (offset 0x7F0), by Index/Way (0x7F8) and by Way (0x7FC). | ||
1224 | They are architecturally defined to behave as the execution of a | ||
1225 | clean operation followed immediately by an invalidate operation, | ||
1226 | both performing to the same memory location. This functionality | ||
1227 | is not correctly implemented in PL310 as clean lines are not | ||
1228 | invalidated as a result of these operations. | ||
1229 | |||
1230 | config ARM_ERRATA_643719 | 1209 | config ARM_ERRATA_643719 |
1231 | bool "ARM errata: LoUIS bit field in CLIDR register is incorrect" | 1210 | bool "ARM errata: LoUIS bit field in CLIDR register is incorrect" |
1232 | depends on CPU_V7 && SMP | 1211 | depends on CPU_V7 && SMP |
@@ -1249,17 +1228,6 @@ config ARM_ERRATA_720789 | |||
1249 | tables. The workaround changes the TLB flushing routines to invalidate | 1228 | tables. The workaround changes the TLB flushing routines to invalidate |
1250 | entries regardless of the ASID. | 1229 | entries regardless of the ASID. |
1251 | 1230 | ||
1252 | config PL310_ERRATA_727915 | ||
1253 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" | ||
1254 | depends on CACHE_L2X0 | ||
1255 | help | ||
1256 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance | ||
1257 | operation (offset 0x7FC). This operation runs in background so that | ||
1258 | PL310 can handle normal accesses while it is in progress. Under very | ||
1259 | rare circumstances, due to this erratum, write data can be lost when | ||
1260 | PL310 treats a cacheable write transaction during a Clean & | ||
1261 | Invalidate by Way operation. | ||
1262 | |||
1263 | config ARM_ERRATA_743622 | 1231 | config ARM_ERRATA_743622 |
1264 | bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" | 1232 | bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption" |
1265 | depends on CPU_V7 | 1233 | depends on CPU_V7 |
@@ -1285,21 +1253,6 @@ config ARM_ERRATA_751472 | |||
1285 | operation is received by a CPU before the ICIALLUIS has completed, | 1253 | operation is received by a CPU before the ICIALLUIS has completed, |
1286 | potentially leading to corrupted entries in the cache or TLB. | 1254 | potentially leading to corrupted entries in the cache or TLB. |
1287 | 1255 | ||
1288 | config PL310_ERRATA_753970 | ||
1289 | bool "PL310 errata: cache sync operation may be faulty" | ||
1290 | depends on CACHE_PL310 | ||
1291 | help | ||
1292 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. | ||
1293 | |||
1294 | Under some condition the effect of cache sync operation on | ||
1295 | the store buffer still remains when the operation completes. | ||
1296 | This means that the store buffer is always asked to drain and | ||
1297 | this prevents it from merging any further writes. The workaround | ||
1298 | is to replace the normal offset of cache sync operation (0x730) | ||
1299 | by another offset targeting an unmapped PL310 register 0x740. | ||
1300 | This has the same effect as the cache sync operation: store buffer | ||
1301 | drain and waiting for all buffers empty. | ||
1302 | |||
1303 | config ARM_ERRATA_754322 | 1256 | config ARM_ERRATA_754322 |
1304 | bool "ARM errata: possible faulty MMU translations following an ASID switch" | 1257 | bool "ARM errata: possible faulty MMU translations following an ASID switch" |
1305 | depends on CPU_V7 | 1258 | depends on CPU_V7 |
@@ -1348,18 +1301,6 @@ config ARM_ERRATA_764369 | |||
1348 | relevant cache maintenance functions and sets a specific bit | 1301 | relevant cache maintenance functions and sets a specific bit |
1349 | in the diagnostic control register of the SCU. | 1302 | in the diagnostic control register of the SCU. |
1350 | 1303 | ||
1351 | config PL310_ERRATA_769419 | ||
1352 | bool "PL310 errata: no automatic Store Buffer drain" | ||
1353 | depends on CACHE_L2X0 | ||
1354 | help | ||
1355 | On revisions of the PL310 prior to r3p2, the Store Buffer does | ||
1356 | not automatically drain. This can cause normal, non-cacheable | ||
1357 | writes to be retained when the memory system is idle, leading | ||
1358 | to suboptimal I/O performance for drivers using coherent DMA. | ||
1359 | This option adds a write barrier to the cpu_idle loop so that, | ||
1360 | on systems with an outer cache, the store buffer is drained | ||
1361 | explicitly. | ||
1362 | |||
1363 | config ARM_ERRATA_775420 | 1304 | config ARM_ERRATA_775420 |
1364 | bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock" | 1305 | bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock" |
1365 | depends on CPU_V7 | 1306 | depends on CPU_V7 |
@@ -2279,6 +2220,11 @@ config ARCH_SUSPEND_POSSIBLE | |||
2279 | config ARM_CPU_SUSPEND | 2220 | config ARM_CPU_SUSPEND |
2280 | def_bool PM_SLEEP | 2221 | def_bool PM_SLEEP |
2281 | 2222 | ||
2223 | config ARCH_HIBERNATION_POSSIBLE | ||
2224 | bool | ||
2225 | depends on MMU | ||
2226 | default y if ARCH_SUSPEND_POSSIBLE | ||
2227 | |||
2282 | endmenu | 2228 | endmenu |
2283 | 2229 | ||
2284 | source "net/Kconfig" | 2230 | source "net/Kconfig" |