xref: /haiku/headers/private/system/arch/arm/arch_arm_version.h (revision 02354704729d38c3b078c696adc1bbbd33cbcf72)
1 /*
2  * Copyright 2008, François Revol, revol@free.fr.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H
6 #define SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H
7 
8 /* map all the various ARM defines to arch version to allow checking for minimal arch */
9 
10 #if defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_3__)
11 #error we do not support this
12 #endif
13 
14 #if defined(__ARM_ARCH_4__) || defined(__ARM_ARCH_4T__)
15 #define __ARM_ARCH__ 4
16 #endif
17 
18 #if defined(__ARM_ARCH_5__) \
19  || defined(__ARM_ARCH_5E__) \
20  || defined(__ARM_ARCH_5T__) \
21  || defined(__ARM_ARCH_5TE__) \
22  || defined(__ARM_ARCH_5TEJ__)
23 #define __ARM_ARCH__ 5
24 #endif
25 
26 #if defined(__ARM_ARCH_6__) \
27  || defined(__ARM_ARCH_6J__) \
28  || defined(__ARM_ARCH_6K__) \
29  || defined(__ARM_ARCH_6ZK__) \
30  || defined(__ARM_ARCH_6T2__)
31 #define __ARM_ARCH__ 6
32 #endif
33 
34 #if defined(__ARM_ARCH_7__) \
35  || defined(__ARM_ARCH_7A__) \
36  || defined(__ARM_ARCH_7R__) \
37  || defined(__ARM_ARCH_7M__)
38 #define __ARM_ARCH__ 7
39 #endif
40 
41 #ifndef __ARM_ARCH__
42 #error cannot determine arm arch version
43 #endif
44 
45 #endif	/* SYSTEM_ARCH_ARM_ARCH_ARM_VERSION_H */
46 
47