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