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/Kconfig23
1 files changed, 14 insertions, 9 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 27892e34b060..48bac7da8c70 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -410,17 +410,22 @@ config CPU_BPREDICT_DISABLE
410 help 410 help
411 Say Y here to disable branch prediction. If unsure, say N. 411 Say Y here to disable branch prediction. If unsure, say N.
412 412
413config TLS_REG_EMUL
414 bool
415 default y if SMP && (CPU_32v5 || CPU_32v4 || CPU_32v3)
416 help
417 An SMP system using a pre-ARMv6 processor (there are apparently
418 a few prototypes like that in existence) and therefore access to
419 that required register must be emulated.
420
413config HAS_TLS_REG 421config HAS_TLS_REG
414 bool 422 bool
415 depends on CPU_32v6 && !CPU_32v5 && !CPU_32v4 && !CPU_32v3 423 depends on !TLS_REG_EMUL
416 default y 424 default y if SMP || CPU_32v7
417 help 425 help
418 This selects support for the CP15 thread register. 426 This selects support for the CP15 thread register.
419 It is defined to be available on ARMv6 or later. However 427 It is defined to be available on some ARMv6 processors (including
420 if the kernel is configured to support multiple CPUs including 428 all SMP capable ARMv6's) or later processors. User space may
421 a pre-ARMv6 processors, or if a given ARMv6 processor doesn't 429 assume directly accessing that register and always obtain the
422 implement the thread register for some reason, then access to 430 expected value only on ARMv7 and above.
423 this register from user space must be trapped and emulated.
424 If user space is relying on the __kuser_get_tls code then
425 there should not be any impact.
426 431