[PATCH 10/14] ARM: v6k: select TLS register code according to V6 variants

Nicolas Pitre nico at fluxnic.net
Mon Jan 17 17:23:43 EST 2011


On Mon, 17 Jan 2011, Russell King - ARM Linux wrote:

> 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.
> 
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

Acked-by: Nicolas Pitre <nicolas.pitre at linaro.org>

Note: this is becoming a bit confusing and prone to mistake when we have:

	CONFIG_CPU_V6
	CONFIG_CPU_V6K
	CONFIG_CPU_32v6
	CONFIG_CPU_32v6K

I don't know what to suggest for a less similar naming scheme between 
the CPU design and the allowed instruction set though.


> ---
>  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 e71d6ff..60843eb 100644
> --- a/arch/arm/include/asm/tls.h
> +++ b/arch/arm/include/asm/tls.h
> @@ -28,15 +28,14 @@
>  #define tls_emu		1
>  #define has_tls_reg		1
>  #define set_tls		set_tls_none
> -#elif __LINUX_ARM_ARCH__ >= 7 ||					\
> -	(__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K))
> -#define tls_emu		0
> -#define has_tls_reg		1
> -#define set_tls		set_tls_v6k
> -#elif __LINUX_ARM_ARCH__ == 6
> +#elif defined(CONFIG_CPU_V6)
>  #define tls_emu		0
>  #define has_tls_reg		(elf_hwcap & HWCAP_TLS)
>  #define set_tls		set_tls_v6
> +#elif defined(CONFIG_CPU_32v6K)
> +#define tls_emu		0
> +#define has_tls_reg		1
> +#define set_tls		set_tls_v6k
>  #else
>  #define tls_emu		0
>  #define has_tls_reg		0
> -- 
> 1.6.2.5
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 



More information about the linux-arm-kernel mailing list