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