]>
Commit | Line | Data |
---|---|---|
e5123751 AP |
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__) || \ | |
87873f43 | 21 | defined(__ARM_ARCH_7EM__) |
e5123751 AP |
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__) || \ | |
3ee4d41f AP |
29 | defined(__ARM_ARCH_5E__)|| defined(__ARM_ARCH_5TE__) || \ |
30 | defined(__ARM_ARCH_5TEJ__) | |
e5123751 AP |
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 | |
3c075bf0 | 38 | #endif |
e5123751 | 39 | |
1d512155 | 40 | #ifdef OPENSSL_FIPSCANISTER |
a95bbadb DSH |
41 | #include <openssl/fipssyms.h> |
42 | #endif | |
43 | ||
87873f43 AP |
44 | #if !__ASSEMBLER__ |
45 | extern unsigned int OPENSSL_armcap_P; | |
46 | ||
47 | #define ARMV7_NEON (1<<0) | |
48 | #define ARMV7_TICK (1<<1) | |
4afa9f03 AP |
49 | #define ARMV8_AES (1<<2) |
50 | #define ARMV8_SHA1 (1<<3) | |
51 | #define ARMV8_SHA256 (1<<4) | |
52 | #define ARMV8_PMULL (1<<5) | |
87873f43 AP |
53 | #endif |
54 | ||
e5123751 | 55 | #endif |