minix/sys/arch/arm/include/cpu.h

56 lines
2.4 KiB
C
Raw Normal View History

2012-08-28 19:34:08 +02:00
#ifndef _ARM_CPU_H_
#define _ARM_CPU_H_
/* xPSR - Program Status Registers */
#define PSR_T (1 << 5) /* Thumb execution state bit */
#define PSR_F (1 << 6) /* FIQ mask bit */
#define PSR_I (1 << 7) /* IRQ mask bit */
#define PSR_A (1 << 8) /* Asynchronous abort mask bit */
#define PSR_E (1 << 9) /* Endianness execution state bit */
#define PSR_J (1 << 24) /* Jazelle bit */
#define PSR_Q (1 << 27) /* Cumulative saturation bit */
#define PSR_V (1 << 28) /* Overflow condition flag */
#define PSR_C (1 << 29) /* Carry condition flag */
#define PSR_Z (1 << 30) /* Zero condition flag */
#define PSR_N (1 << 31) /* Negative condition flag */
#define PSR_MODE_MASK 0x0000001F /* Mode field mask */
#define MODE_USR 0x10 /* User mode */
#define MODE_FIQ 0x11 /* FIQ mode */
#define MODE_IRQ 0x12 /* IRQ mode */
#define MODE_SVC 0x13 /* Supervisor mode */
#define MODE_MON 0x16 /* Monitor mode */
#define MODE_ABT 0x17 /* Abort mode */
#define MODE_HYP 0x1A /* Hyp mode */
#define MODE_UND 0x1B /* Undefined mode */
#define MODE_SYS 0x1F /* System mode */
/* SCTLR - System Control Register */
#define SCTLR_M (1 << 0) /* MMU enable */
#define SCTLR_A (1 << 1) /* Alignment check enable */
#define SCTLR_C (1 << 2) /* Data and Unified Cache enable */
#define SCTLR_CP15BEN (1 << 5) /* CP15 barrier enable */
#define SCTLR_SW (1 << 10) /* SWP and SWPB enable */
#define SCTLR_Z (1 << 11) /* Branch prediction enable */
#define SCTLR_I (1 << 12) /* Instruction cache enable */
#define SCTLR_V (1 << 13) /* (High) Vectors bit */
#define SCTLR_RR (1 << 14) /* Round Robin (cache) select */
#define SCTLR_HA (1 << 17) /* Hardware Access flag enable */
#define SCTLR_FI (1 << 21) /* Fast interrupts configuration enable */
#define SCTLR_VE (1 << 24) /* Interrupt Vectors Enable */
#define SCTLR_EE (1 << 25) /* Exception Endianness */
#define SCTLR_NMFI (1 << 27) /* Non-maskable FIQ (NMFI) support */
#define SCTLR_TRE (1 << 28) /* TEX remap enable */
#define SCTLR_AFE (1 << 29) /* Access flag enable */
#define SCTLR_TE (1 << 30) /* Thumb Exception enable */
/* ACTLR - Auxiliary Control Register */
#define A8_ACTLR_L1ALIAS (1 << 0) /* L1 Dcache hw alias check enable */
#define A8_ACTLR_L2EN (1 << 1) /* L2 cache enable */
#define A8_ACTLR_L1RSTDIS (1 << 30) /* L1 hw reset disable */
#define A8_ACTLR_L2RSTDIS (1 << 31) /* L2 hw reset disable */
#endif /* _ARM_CPU_H_ */