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