1#ifndef __ARM_ARCH_H__ 2# define __ARM_ARCH_H__ 3 4# if !defined(__ARM_ARCH__) 5# if defined(__CC_ARM) 6# define __ARM_ARCH__ __TARGET_ARCH_ARM 7# if defined(__BIG_ENDIAN) 8# define __ARMEB__ 9# else 10# define __ARMEL__ 11# endif 12# elif defined(__GNUC__) 13 /* 14 * Why doesn't gcc define __ARM_ARCH__? Instead it defines 15 * bunch of below macros. See all_architectires[] table in 16 * gcc/config/arm/arm.c. On a side note it defines 17 * __ARMEL__/__ARMEB__ for little-/big-endian. 18 */ 19# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ 20 defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \ 21 defined(__ARM_ARCH_7EM__) 22# define __ARM_ARCH__ 7 23# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ 24 defined(__ARM_ARCH_6K__)|| defined(__ARM_ARCH_6M__) || \ 25 defined(__ARM_ARCH_6Z__)|| defined(__ARM_ARCH_6ZK__) || \ 26 defined(__ARM_ARCH_6T2__) 27# define __ARM_ARCH__ 6 28# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \ 29 defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \ 30 defined(__ARM_ARCH_5TEJ__) 31# define __ARM_ARCH__ 5 32# elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) 33# define __ARM_ARCH__ 4 34# else 35# error "unsupported ARM architecture" 36# endif 37# endif 38# endif 39 40# ifdef OPENSSL_FIPSCANISTER 41# include <openssl/fipssyms.h> 42# endif 43 44# if !__ASSEMBLER__ 45extern unsigned int OPENSSL_armcap_P; 46 47# define ARMV7_NEON (1<<0) 48# define ARMV7_TICK (1<<1) 49# endif 50 51#endif 52