1
2
3
4
5
6
7
8 #ifndef __ASM_UNIFIED_H
9 #define __ASM_UNIFIED_H
10
11 #if defined(__ASSEMBLY__)
12 .syntax unified
13 #else
14 __asm__(".syntax unified");
15 #endif
16
17 #ifdef CONFIG_CPU_V7M
18 #define AR_CLASS(x...)
19 #define M_CLASS(x...) x
20 #else
21 #define AR_CLASS(x...) x
22 #define M_CLASS(x...)
23 #endif
24
25 #ifdef CONFIG_THUMB2_KERNEL
26
27 #if __GNUC__ < 4
28 #error Thumb-2 kernel requires gcc >= 4
29 #endif
30
31
32 #define PSR_ISETSTATE PSR_T_BIT
33
34 #define ARM(x...)
35 #define THUMB(x...) x
36 #ifdef __ASSEMBLY__
37 #define W(instr) instr.w
38 #else
39 #define WASM(instr) #instr ".w"
40 #endif
41
42 #else
43
44
45 #define PSR_ISETSTATE 0
46
47 #define ARM(x...) x
48 #define THUMB(x...)
49 #ifdef __ASSEMBLY__
50 #define W(instr) instr
51 #else
52 #define WASM(instr) #instr
53 #endif
54
55 #endif
56
57 #endif