aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r--arch/arm/mm/Kconfig38
1 files changed, 22 insertions, 16 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 27892e34b060..3fefb43c67f7 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -228,7 +228,6 @@ config CPU_SA1100
228 select CPU_CACHE_V4WB 228 select CPU_CACHE_V4WB
229 select CPU_CACHE_VIVT 229 select CPU_CACHE_VIVT
230 select CPU_TLB_V4WB 230 select CPU_TLB_V4WB
231 select CPU_MINICACHE
232 231
233# XScale 232# XScale
234config CPU_XSCALE 233config CPU_XSCALE
@@ -239,7 +238,6 @@ config CPU_XSCALE
239 select CPU_ABRT_EV5T 238 select CPU_ABRT_EV5T
240 select CPU_CACHE_VIVT 239 select CPU_CACHE_VIVT
241 select CPU_TLB_V4WBI 240 select CPU_TLB_V4WBI
242 select CPU_MINICACHE
243 241
244# ARMv6 242# ARMv6
245config CPU_V6 243config CPU_V6
@@ -345,11 +343,6 @@ config CPU_TLB_V4WBI
345config CPU_TLB_V6 343config CPU_TLB_V6
346 bool 344 bool
347 345
348config CPU_MINICACHE
349 bool
350 help
351 Processor has a minicache.
352
353comment "Processor Features" 346comment "Processor Features"
354 347
355config ARM_THUMB 348config ARM_THUMB
@@ -410,17 +403,30 @@ config CPU_BPREDICT_DISABLE
410 help 403 help
411 Say Y here to disable branch prediction. If unsure, say N. 404 Say Y here to disable branch prediction. If unsure, say N.
412 405
406config TLS_REG_EMUL
407 bool
408 default y if SMP && (CPU_32v5 || CPU_32v4 || CPU_32v3)
409 help
410 An SMP system using a pre-ARMv6 processor (there are apparently
411 a few prototypes like that in existence) and therefore access to
412 that required register must be emulated.
413
413config HAS_TLS_REG 414config HAS_TLS_REG
414 bool 415 bool
415 depends on CPU_32v6 && !CPU_32v5 && !CPU_32v4 && !CPU_32v3 416 depends on !TLS_REG_EMUL
416 default y 417 default y if SMP || CPU_32v7
417 help 418 help
418 This selects support for the CP15 thread register. 419 This selects support for the CP15 thread register.
419 It is defined to be available on ARMv6 or later. However 420 It is defined to be available on some ARMv6 processors (including
420 if the kernel is configured to support multiple CPUs including 421 all SMP capable ARMv6's) or later processors. User space may
421 a pre-ARMv6 processors, or if a given ARMv6 processor doesn't 422 assume directly accessing that register and always obtain the
422 implement the thread register for some reason, then access to 423 expected value only on ARMv7 and above.
423 this register from user space must be trapped and emulated. 424
424 If user space is relying on the __kuser_get_tls code then 425config NEEDS_SYSCALL_FOR_CMPXCHG
425 there should not be any impact. 426 bool
427 default y if SMP && (CPU_32v5 || CPU_32v4 || CPU_32v3)
428 help
429 SMP on a pre-ARMv6 processor? Well OK then.
430 Forget about fast user space cmpxchg support.
431 It is just not possible.
426 432