58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
#ifndef __ARM_MODE_H__
|
|
#define __ARM_MODE_H__
|
|
|
|
//ARMV7
|
|
#define ARMV7_USR_MODE 0x10
|
|
#define ARMV7_FIQ_MODE 0x11
|
|
#define ARMV7_IRQ_MODE 0x12
|
|
#define ARMV7_SVC_MODE 0x13
|
|
#define ARMV7_MON_MODE 0x16
|
|
#define ARMV7_ABT_MODE 0x17
|
|
#define ARMV7_UND_MODE 0x1b
|
|
#define ARMV7_SYSTEM_MODE 0x1f
|
|
#define ARMV7_MODE_MASK 0x1f
|
|
#define ARMV7_FIQ_MASK 0x40
|
|
#define ARMV7_IRQ_MASK 0x80
|
|
|
|
//ARM9
|
|
#define ARM9_USR26_MODE 0x00
|
|
#define ARM9_FIQ26_MODE 0x01
|
|
#define ARM9_IRQ26_MODE 0x02
|
|
#define ARM9_SVC26_MODE 0x03
|
|
#define ARM9_USR_MODE 0x10
|
|
#define ARM9_FIQ_MODE 0x11
|
|
#define ARM9_IRQ_MODE 0x12
|
|
#define ARM9_SVC_MODE 0x13
|
|
#define ARM9_ABT_MODE 0x17
|
|
#define ARM9_UND_MODE 0x1b
|
|
#define ARM9_SYSTEM_MODE 0x1f
|
|
#define ARM9_MODE_MASK 0x1f
|
|
#define ARM9_FIQ_MASK 0x40
|
|
#define ARM9_IRQ_MASK 0x80
|
|
#define ARM9_CC_V_BIT (1 << 28)
|
|
#define ARM9_CC_C_BIT (1 << 29)
|
|
#define ARM9_CC_Z_BIT (1 << 30)
|
|
#define ARM9_CC_N_BIT (1 << 31)
|
|
|
|
|
|
// coprocessor CP15
|
|
// C1
|
|
#define C1_M_BIT (1 << 0 )
|
|
#define C1_A_BIT (1 << 1 )
|
|
#define C1_C_BIT (1 << 2 )
|
|
#define C1_W_BIT (1 << 3 )
|
|
#define C1_P_BIT (1 << 4 )
|
|
#define C1_D_BIT (1 << 5 )
|
|
#define C1_L_BIT (1 << 6 )
|
|
#define C1_B_BIT (1 << 7 )
|
|
#define C1_S_BIT (1 << 8 )
|
|
#define C1_R_BIT (1 << 9 )
|
|
#define C1_F_BIT (1 << 10)
|
|
#define C1_Z_BIT (1 << 11)
|
|
#define C1_I_BIT (1 << 12)
|
|
#define C1_V_BIT (1 << 13)
|
|
#define C1_RR_BIT (1 << 14)
|
|
#define C1_L4_BIT (1 << 15)
|
|
|
|
#endif
|