paul@184 | 1 | #ifndef __MIPS_H__ |
paul@184 | 2 | #define __MIPS_H__ |
paul@184 | 3 | |
paul@184 | 4 | #define CP0_INDEX $0 |
paul@184 | 5 | #define CP0_ENTRYLO0 $2 |
paul@184 | 6 | #define CP0_ENTRYLO1 $3 |
paul@184 | 7 | #define CP0_CONTEXT $4 |
paul@184 | 8 | #define CP0_PAGEMASK $5 |
paul@184 | 9 | #define CP0_WIRED $6 |
paul@184 | 10 | #define CP0_ENTRYHI $10 |
paul@184 | 11 | #define CP0_STATUS $12 |
paul@184 | 12 | #define CP0_CAUSE $13 |
paul@184 | 13 | #define CP0_EPC $14 |
paul@184 | 14 | #define CP0_CONFIG $16 |
paul@184 | 15 | #define CP0_WATCHLO $18 |
paul@184 | 16 | #define CP0_TAGLO $28 |
paul@184 | 17 | #define CP0_TAGHI $29 |
paul@184 | 18 | |
paul@196 | 19 | #define STATUS_CP0 0x10000000 |
paul@188 | 20 | #define STATUS_BEV 0x00400000 |
paul@190 | 21 | #define STATUS_IRQ 0x0000fc00 |
paul@190 | 22 | #define STATUS_UM 0x00000010 |
paul@190 | 23 | #define STATUS_ERL 0x00000004 |
paul@190 | 24 | #define STATUS_EXL 0x00000002 |
paul@190 | 25 | #define STATUS_IE 0x00000001 |
paul@188 | 26 | |
paul@188 | 27 | #define CAUSE_IV 0x00800000 |
paul@188 | 28 | |
paul@193 | 29 | #define TLB_CACHED 0x00000018 |
paul@211 | 30 | #define TLB_UNCACHED 0x00000010 |
paul@193 | 31 | #define TLB_DIRTY 0x00000004 |
paul@193 | 32 | #define TLB_VALID 0x00000002 |
paul@193 | 33 | #define TLB_GLOBAL 0x00000001 |
paul@193 | 34 | |
paul@193 | 35 | #define TLB_READ (TLB_CACHED | TLB_VALID) |
paul@193 | 36 | #define TLB_WRITE (TLB_CACHED | TLB_DIRTY | TLB_VALID) |
paul@193 | 37 | #define TLB_ALL_READ (TLB_CACHED | TLB_VALID | TLB_GLOBAL) |
paul@193 | 38 | #define TLB_ALL_WRITE (TLB_CACHED | TLB_DIRTY | TLB_VALID | TLB_GLOBAL) |
paul@193 | 39 | |
paul@184 | 40 | #endif /* __MIPS_H__ */ |