1 /* $NetBSD: cdefs.h,v 1.12 2014/01/29 01:20:03 matt Exp $ */ 2 3 #ifndef _ARM_CDEFS_H_ 4 #define _ARM_CDEFS_H_ 5 6 #if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4 7 #error GCC 4.1 or compatible required. 8 #endif 9 10 #if defined (__ARM_ARCH_8A__) 11 #define _ARM_ARCH_8 /* ARMv8 64-bit in AARCH32 */ 12 #endif 13 14 #if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \ 15 defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \ 16 defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__) 17 /* 7R, 7M, 7EM are for non MMU arms */ 18 #define _ARM_ARCH_7 19 #endif 20 21 #if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__) 22 #define _ARM_ARCH_T2 /* Thumb2 */ 23 #endif 24 25 #if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \ 26 defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \ 27 defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \ 28 defined (__ARM_ARCH_6ZM__) 29 #define _ARM_ARCH_6 30 #endif 31 32 #if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \ 33 defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) 34 #define _ARM_ARCH_5T 35 #endif 36 37 #if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__) 38 #define _ARM_ARCH_5 39 #endif 40 41 #if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__) 42 #define _ARM_ARCH_4T 43 #endif 44 45 #if defined (_ARM_ARCH_T2) || \ 46 (!defined (__thumb__) && \ 47 (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \ 48 defined (__ARM_ARCH_5TEJ__))) 49 #define _ARM_ARCH_DWORD_OK 50 #endif 51 52 #if defined(__ARM_EABI__) || defined(__ARM_PCS_AAPCS64) 53 #define __ALIGNBYTES (8 - 1) 54 #else 55 #define __ALIGNBYTES (sizeof(int) - 1) 56 #endif 57 58 #endif /* !_ARM_CDEFS_H_ */ 59