You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
#ifndef __ARM_ARCH_H__ |
|
# define __ARM_ARCH_H__ |
|
|
|
# if !defined(__ARM_ARCH__) |
|
# if defined(__CC_ARM) |
|
# define __ARM_ARCH__ __TARGET_ARCH_ARM |
|
# if defined(__BIG_ENDIAN) |
|
# define __ARMEB__ |
|
# else |
|
# define __ARMEL__ |
|
# endif |
|
# elif defined(__GNUC__) |
|
/* |
|
* Why doesn't gcc define __ARM_ARCH__? Instead it defines |
|
* bunch of below macros. See all_architectires[] table in |
|
* gcc/config/arm/arm.c. On a side note it defines |
|
* __ARMEL__/__ARMEB__ for little-/big-endian. |
|
*/ |
|
# if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || \ |
|
defined(__ARM_ARCH_7R__)|| defined(__ARM_ARCH_7M__) || \ |
|
defined(__ARM_ARCH_7EM__) |
|
# define __ARM_ARCH__ 7 |
|
# elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || \ |
|
defined(__ARM_ARCH_6K__)|| defined(__ARM_ARCH_6M__) || \ |
|
defined(__ARM_ARCH_6Z__)|| defined(__ARM_ARCH_6ZK__) || \ |
|
defined(__ARM_ARCH_6T2__) |
|
# define __ARM_ARCH__ 6 |
|
# elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5T__) || \ |
|
defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \ |
|
defined(__ARM_ARCH_5TEJ__) |
|
# define __ARM_ARCH__ 5 |
|
# elif defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__) |
|
# define __ARM_ARCH__ 4 |
|
# else |
|
# error "unsupported ARM architecture" |
|
# endif |
|
# endif |
|
# endif |
|
|
|
# ifdef OPENSSL_FIPSCANISTER |
|
# include <openssl/fipssyms.h> |
|
# endif |
|
|
|
# if !__ASSEMBLER__ |
|
extern unsigned int OPENSSL_armcap_P; |
|
|
|
# define ARMV7_NEON (1<<0) |
|
# define ARMV7_TICK (1<<1) |
|
# endif |
|
|
|
#endif
|
|
|