diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-17 11:38:56 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-02-02 16:23:29 -0500 |
commit | 37bc618fe2689a7f8de8fac82e72b00ecea4d43d (patch) | |
tree | 22069ac77f14028b237703936385060c09b655f5 | |
parent | a41297a0ffb43fda0a565bdd3ee405d16505820c (diff) |
ARM: v6k: select TLS register code according to V6 variants
If CONFIG_CPU_V6 is enabled, we may or may not have the TLS register.
Use the conditional code which copes with this variability. Otherwise,
if CONFIG_CPU_32v6K is set, we know we have the TLS register on all
supported CPUs, so use it unconditionally.
Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Sourav Poddar <sourav.poddar@ti.com>
Tested-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/include/asm/tls.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/arm/include/asm/tls.h b/arch/arm/include/asm/tls.h index e71d6ff8d104..60843eb0f61c 100644 --- a/arch/arm/include/asm/tls.h +++ b/arch/arm/include/asm/tls.h | |||
@@ -28,15 +28,14 @@ | |||
28 | #define tls_emu 1 | 28 | #define tls_emu 1 |
29 | #define has_tls_reg 1 | 29 | #define has_tls_reg 1 |
30 | #define set_tls set_tls_none | 30 | #define set_tls set_tls_none |
31 | #elif __LINUX_ARM_ARCH__ >= 7 || \ | 31 | #elif defined(CONFIG_CPU_V6) |
32 | (__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K)) | ||
33 | #define tls_emu 0 | ||
34 | #define has_tls_reg 1 | ||
35 | #define set_tls set_tls_v6k | ||
36 | #elif __LINUX_ARM_ARCH__ == 6 | ||
37 | #define tls_emu 0 | 32 | #define tls_emu 0 |
38 | #define has_tls_reg (elf_hwcap & HWCAP_TLS) | 33 | #define has_tls_reg (elf_hwcap & HWCAP_TLS) |
39 | #define set_tls set_tls_v6 | 34 | #define set_tls set_tls_v6 |
35 | #elif defined(CONFIG_CPU_32v6K) | ||
36 | #define tls_emu 0 | ||
37 | #define has_tls_reg 1 | ||
38 | #define set_tls set_tls_v6k | ||
40 | #else | 39 | #else |
41 | #define tls_emu 0 | 40 | #define tls_emu 0 |
42 | #define has_tls_reg 0 | 41 | #define has_tls_reg 0 |