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