cop0.h Source File
Back to the index.
Go to the documentation of this file.
40 #define COP0_NAMES { \
41 "index", "random", "entrylo0", "entrylo1", \
42 "context", "pagemask", "wired", "reserv7", \
43 "badvaddr", "count", "entryhi", "compare", \
44 "status", "cause", "epc", "prid", \
45 "config", "lladdr", "watchlo", "watchhi", \
46 "xcontext", "reserv21", "reserv22", "debug", \
47 "depc", "perfcnt", "errctl", "cacheerr", \
48 "tagdatlo", "tagdathi", "errorepc", "desave" }
51 #define INDEX_P 0x80000000UL
52 #define INDEX_MASK 0x3f
53 #define R2K3K_INDEX_P 0x80000000UL
54 #define R2K3K_INDEX_MASK 0x3f00
55 #define R2K3K_INDEX_SHIFT 8
57 #define RANDOM_MASK 0x3f
58 #define R2K3K_RANDOM_MASK 0x3f00
59 #define R2K3K_RANDOM_SHIFT 8
60 #define COP0_ENTRYLO0 2
61 #define COP0_ENTRYLO1 3
63 #define ENTRYLO_PFN_MASK 0x3fffffc0
64 #define ENTRYLO_PFN_SHIFT 6
65 #define ENTRYLO_C_MASK 0x00000038
66 #define ENTRYLO_C_SHIFT 3
67 #define ENTRYLO_D 0x04
68 #define ENTRYLO_V 0x02
69 #define ENTRYLO_G 0x01
71 #define R2K3K_ENTRYLO_PFN_MASK 0xfffff000UL
72 #define R2K3K_ENTRYLO_PFN_SHIFT 12
73 #define R2K3K_ENTRYLO_N 0x800
74 #define R2K3K_ENTRYLO_D 0x400
75 #define R2K3K_ENTRYLO_V 0x200
76 #define R2K3K_ENTRYLO_G 0x100
77 #define COP0_CONTEXT 4
78 #define CONTEXT_BADVPN2_MASK 0x007ffff0
79 #define CONTEXT_BADVPN2_MASK_R4100 0x01fffff0
80 #define CONTEXT_BADVPN2_SHIFT 4
81 #define R2K3K_CONTEXT_BADVPN_MASK 0x001ffffc
82 #define R2K3K_CONTEXT_BADVPN_SHIFT 2
83 #define COP0_PAGEMASK 5
84 #define PAGEMASK_MASK 0x01ffe000
85 #define PAGEMASK_SHIFT 13
86 #define PAGEMASK_MASK_R4100 0x0007f800
88 #define PAGEMASK_SHIFT_R4100 11
90 #define COP0_RESERV7 7
91 #define COP0_BADVADDR 8
93 #define COP0_ENTRYHI 10
95 #define ENTRYHI_R_MASK 0xc000000000000000ULL
96 #define ENTRYHI_R_XKPHYS 0x8000000000000000ULL
97 #define ENTRYHI_R_SHIFT 62
98 #define ENTRYHI_VPN2_MASK_R10K 0x00000fffffffe000ULL
99 #define ENTRYHI_VPN2_MASK 0x000000ffffffe000ULL
100 #define ENTRYHI_VPN2_SHIFT 13
101 #define ENTRYHI_ASID 0xff
102 #define TLB_G (1 << 12)
104 #define R2K3K_ENTRYHI_VPN_MASK 0xfffff000UL
105 #define R2K3K_ENTRYHI_VPN_SHIFT 12
106 #define R2K3K_ENTRYHI_ASID_MASK 0xfc0
107 #define R2K3K_ENTRYHI_ASID_SHIFT 6
108 #define COP0_COMPARE 11
109 #define COP0_STATUS 12
110 #define STATUS_CU_MASK 0xf0000000UL
111 #define STATUS_CU_SHIFT 28
112 #define STATUS_RP 0x08000000
113 #define STATUS_FR 0x04000000
114 #define STATUS_RE 0x02000000
115 #define STATUS_BEV 0x00400000
117 #define STATUS_IM_MASK 0xff00
118 #define STATUS_IM_SHIFT 8
119 #define STATUS_KX 0x80
120 #define STATUS_SX 0x40
121 #define STATUS_UX 0x20
122 #define STATUS_KSU_MASK 0x18
123 #define STATUS_KSU_SHIFT 3
124 #define STATUS_ERL 0x04
125 #define STATUS_EXL 0x02
126 #define STATUS_IE 0x01
127 #define R5900_STATUS_EDI 0x20000
128 #define R5900_STATUS_EIE 0x10000
129 #define COP0_CAUSE 13
130 #define CAUSE_BD 0x80000000UL
131 #define CAUSE_CE_MASK 0x30000000
132 #define CAUSE_CE_SHIFT 28
133 #define CAUSE_IV 0x00800000UL
134 #define CAUSE_WP 0x00400000UL
135 #define CAUSE_IP_MASK 0xff00
136 #define CAUSE_IP_SHIFT 8
137 #define CAUSE_EXCCODE_MASK 0x7c
138 #define R2K3K_CAUSE_EXCCODE_MASK 0x3c
139 #define CAUSE_EXCCODE_SHIFT 2
142 #define COP0_CONFIG 16
143 #define COP0_LLADDR 17
144 #define COP0_WATCHLO 18
145 #define COP0_WATCHHI 19
146 #define COP0_XCONTEXT 20
147 #define XCONTEXT_R_MASK 0x180000000ULL
148 #define XCONTEXT_R_SHIFT 31
149 #define XCONTEXT_BADVPN2_MASK 0x7ffffff0
150 #define XCONTEXT_BADVPN2_SHIFT 4
151 #define COP0_FRAMEMASK 21
152 #define COP0_RESERV22 22
153 #define COP0_DEBUG 23
155 #define COP0_PERFCNT 25
156 #define COP0_ERRCTL 26
157 #define COP0_CACHEERR 27
158 #define COP0_TAGDATA_LO 28
159 #define COP0_TAGDATA_HI 29
160 #define COP0_ERROREPC 30
161 #define COP0_DESAVE 31
164 #define COP1_REVISION 0
165 #define COP1_REVISION_MIPS3D 0x80000
166 #define COP1_REVISION_PS 0x40000
167 #define COP1_REVISION_DOUBLE 0x20000
168 #define COP1_REVISION_SINGLE 0x10000
169 #define COP1_CONTROLSTATUS 31
173 #define KSU_SUPERVISOR 1
176 #define EXCEPTION_NAMES { \
177 "INT", "MOD", "TLBL", "TLBS", "ADEL", "ADES", "IBE", "DBE", \
178 "SYS", "BP", "RI", "CPU", "OV", "TR", "VCEI", "FPE", \
179 "16?", "17?", "C2E", "19?", "20?", "21?", "MDMX", "WATCH", \
180 "MCHECK", "25?", "26?", "27?", "28?", "29?", "CACHEERR", "VCED" }
183 #define EXCEPTION_INT 0
184 #define EXCEPTION_MOD 1
185 #define EXCEPTION_TLBL 2
186 #define EXCEPTION_TLBS 3
187 #define EXCEPTION_ADEL 4
188 #define EXCEPTION_ADES 5
189 #define EXCEPTION_IBE 6
190 #define EXCEPTION_DBE 7
191 #define EXCEPTION_SYS 8
192 #define EXCEPTION_BP 9
193 #define EXCEPTION_RI 10
194 #define EXCEPTION_CPU 11
195 #define EXCEPTION_OV 12
196 #define EXCEPTION_TR 13
197 #define EXCEPTION_VCEI 14
198 #define EXCEPTION_FPE 15
200 #define EXCEPTION_C2E 18
202 #define EXCEPTION_MDMX 22
203 #define EXCEPTION_WATCH 23
204 #define EXCEPTION_MCHECK 24
206 #define EXCEPTION_CACHEERR 30
207 #define EXCEPTION_VCED 31
Generated on Tue Aug 25 2020 19:25:06 for GXemul by
1.8.18