1 #ifndef __MIPS_H__ 2 #define __MIPS_H__ 3 4 #define CP0_INDEX $0 5 #define CP0_ENTRYLO0 $2 6 #define CP0_ENTRYLO1 $3 7 #define CP0_CONTEXT $4 8 #define CP0_PAGEMASK $5 9 #define CP0_WIRED $6 10 #define CP0_ENTRYHI $10 11 #define CP0_STATUS $12 12 #define CP0_INTCTL $12, 1 13 #define CP0_CAUSE $13 14 #define CP0_EPC $14 15 #define CP0_EBASE $15, 1 16 #define CP0_CONFIG $16 17 #define CP0_WATCHLO $18 18 #define CP0_TAGLO $28 19 #define CP0_TAGHI $29 20 21 #define STATUS_CP0 0x10000000 22 #define STATUS_BEV 0x00400000 23 #define STATUS_IRQ 0x0000fc00 24 #define STATUS_UM 0x00000010 25 #define STATUS_ERL 0x00000004 26 #define STATUS_EXL 0x00000002 27 #define STATUS_IE 0x00000001 28 29 #define CAUSE_IV 0x00800000 30 31 #define EBASE_MASK 0x3ffff000 32 33 #define INTCTL_MASK 0x000003e0 34 35 #define TLB_CACHED 0x00000018 36 #define TLB_UNCACHED 0x00000010 37 #define TLB_DIRTY 0x00000004 38 #define TLB_VALID 0x00000002 39 #define TLB_GLOBAL 0x00000001 40 41 #define TLB_READ (TLB_CACHED | TLB_VALID) 42 #define TLB_WRITE (TLB_CACHED | TLB_DIRTY | TLB_VALID) 43 #define TLB_ALL_READ (TLB_CACHED | TLB_VALID | TLB_GLOBAL) 44 #define TLB_ALL_WRITE (TLB_CACHED | TLB_DIRTY | TLB_VALID | TLB_GLOBAL) 45 46 #define CONFIG_CM_UNCACHED 2 47 #define CONFIG_CM_CACHABLE_NONCOHERENT 3 48 49 #endif /* __MIPS_H__ */