1 #ifndef __ARMV7_H__
2 #define __ARMV7_H__
3 
4 /* the exception stack without VFP registers */
5 struct rt_hw_exp_stack
6 {
7 	unsigned long r0;
8 	unsigned long r1;
9 	unsigned long r2;
10 	unsigned long r3;
11 	unsigned long r4;
12 	unsigned long r5;
13 	unsigned long r6;
14 	unsigned long r7;
15 	unsigned long r8;
16 	unsigned long r9;
17 	unsigned long r10;
18 	unsigned long fp;
19 	unsigned long ip;
20 	unsigned long sp;
21 	unsigned long lr;
22 	unsigned long pc;
23 	unsigned long cpsr;
24 };
25 
26 struct rt_hw_stack
27 {
28 	unsigned long cpsr;
29 	unsigned long r0;
30 	unsigned long r1;
31 	unsigned long r2;
32 	unsigned long r3;
33 	unsigned long r4;
34 	unsigned long r5;
35 	unsigned long r6;
36 	unsigned long r7;
37 	unsigned long r8;
38 	unsigned long r9;
39 	unsigned long r10;
40 	unsigned long fp;
41 	unsigned long ip;
42 	unsigned long lr;
43 	unsigned long pc;
44 };
45 
46 #define USERMODE    0x10
47 #define FIQMODE     0x11
48 #define IRQMODE     0x12
49 #define SVCMODE     0x13
50 #define MONITORMODE 0x16
51 #define ABORTMODE   0x17
52 #define HYPMODE     0x1b
53 #define UNDEFMODE   0x1b
54 #define MODEMASK    0x1f
55 #define NOINT       0xc0
56 
57 #define T_Bit       (1<<5)
58 #define F_Bit       (1<<6)
59 #define I_Bit       (1<<7)
60 #define A_Bit       (1<<8)
61 #define E_Bit       (1<<9)
62 #define J_Bit       (1<<24)
63 
64 #endif
65