f159f4ed55
The TLS register is only available on ARM1136 r1p0 and later. Set HWCAP_TLS flags if hardware TLS is available and test for it if CONFIG_CPU_32v6K is not set for V6. Note that we set the TLS instruction in __kuser_get_tls dynamically as suggested by Jamie Lokier <jamie@shareable.org>. Also the __switch_to code is optimized out in most cases as suggested by Nicolas Pitre <nico@fluxnic.net>. Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
33 lines
753 B
C
33 lines
753 B
C
#ifndef __ASMARM_HWCAP_H
|
|
#define __ASMARM_HWCAP_H
|
|
|
|
/*
|
|
* HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
|
|
*/
|
|
#define HWCAP_SWP 1
|
|
#define HWCAP_HALF 2
|
|
#define HWCAP_THUMB 4
|
|
#define HWCAP_26BIT 8 /* Play it safe */
|
|
#define HWCAP_FAST_MULT 16
|
|
#define HWCAP_FPA 32
|
|
#define HWCAP_VFP 64
|
|
#define HWCAP_EDSP 128
|
|
#define HWCAP_JAVA 256
|
|
#define HWCAP_IWMMXT 512
|
|
#define HWCAP_CRUNCH 1024
|
|
#define HWCAP_THUMBEE 2048
|
|
#define HWCAP_NEON 4096
|
|
#define HWCAP_VFPv3 8192
|
|
#define HWCAP_VFPv3D16 16384
|
|
#define HWCAP_TLS 32768
|
|
|
|
#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
|
|
/*
|
|
* This yields a mask that user programs can use to figure out what
|
|
* instruction set this cpu supports.
|
|
*/
|
|
#define ELF_HWCAP (elf_hwcap)
|
|
extern unsigned int elf_hwcap;
|
|
#endif
|
|
|
|
#endif
|