Revision 4ad40f36 target-mips/cpu.h
b/target-mips/cpu.h | ||
---|---|---|
1 | 1 |
#if !defined (__MIPS_CPU_H__) |
2 | 2 |
#define __MIPS_CPU_H__ |
3 | 3 |
|
4 |
#define TARGET_HAS_ICE 1 |
|
5 |
|
|
4 | 6 |
#include "mips-defs.h" |
5 | 7 |
#include "cpu-defs.h" |
6 | 8 |
#include "config.h" |
... | ... | |
18 | 20 |
struct tlb_t { |
19 | 21 |
target_ulong VPN; |
20 | 22 |
target_ulong end; |
23 |
target_ulong end2; |
|
21 | 24 |
uint8_t ASID; |
22 | 25 |
uint8_t G; |
23 | 26 |
uint8_t C[2]; |
... | ... | |
151 | 154 |
#define MIPS_HFLAG_DM 0x0008 /* Debug mode */ |
152 | 155 |
#define MIPS_HFLAG_SM 0x0010 /* Supervisor mode */ |
153 | 156 |
#define MIPS_HFLAG_RE 0x0040 /* Reversed endianness */ |
154 |
#define MIPS_HFLAG_DS 0x0080 /* In / out of delay slot */
|
|
155 |
/* Those flags keep the branch state if the translation is interrupted
|
|
156 |
* between the branch instruction and the delay slot
|
|
157 |
*/ |
|
158 |
#define MIPS_HFLAG_BMASK 0x0F00
|
|
159 |
#define MIPS_HFLAG_B 0x0100 /* Unconditional branch */
|
|
160 |
#define MIPS_HFLAG_BC 0x0200 /* Conditional branch */
|
|
161 |
#define MIPS_HFLAG_BL 0x0400 /* Likely branch */
|
|
162 |
#define MIPS_HFLAG_BR 0x0800 /* branch to register (can't link TB) */
|
|
157 |
/* If translation is interrupted between the branch instruction and
|
|
158 |
* the delay slot, record what type of branch it is so that we can
|
|
159 |
* resume translation properly. It might be possible to reduce
|
|
160 |
* this from three bits to two. */
|
|
161 |
#define MIPS_HFLAG_BMASK 0x0380
|
|
162 |
#define MIPS_HFLAG_B 0x0080 /* Unconditional branch */
|
|
163 |
#define MIPS_HFLAG_BC 0x0100 /* Conditional branch */
|
|
164 |
#define MIPS_HFLAG_BL 0x0180 /* Likely branch */
|
|
165 |
#define MIPS_HFLAG_BR 0x0200 /* branch to register (can't link TB) */
|
|
163 | 166 |
target_ulong btarget; /* Jump / branch target */ |
164 | 167 |
int bcond; /* Branch condition (if needed) */ |
165 | 168 |
|
169 |
int halted; /* TRUE if the CPU is in suspend state */ |
|
170 |
|
|
166 | 171 |
CPU_COMMON |
167 | 172 |
}; |
168 | 173 |
|
... | ... | |
202 | 207 |
EXCP_IBE, |
203 | 208 |
EXCP_DBp, |
204 | 209 |
EXCP_SYSCALL, |
205 |
EXCP_BREAK, |
|
206 |
EXCP_CpU, /* 16 */
|
|
210 |
EXCP_BREAK, /* 16 */
|
|
211 |
EXCP_CpU, |
|
207 | 212 |
EXCP_RI, |
208 | 213 |
EXCP_OVERFLOW, |
209 | 214 |
EXCP_TRAP, |
210 | 215 |
EXCP_DDBS, |
211 | 216 |
EXCP_DWATCH, |
212 |
EXCP_LAE, /* 22 */
|
|
213 |
EXCP_SAE, |
|
217 |
EXCP_LAE, |
|
218 |
EXCP_SAE, /* 24 */
|
|
214 | 219 |
EXCP_LTLBL, |
215 | 220 |
EXCP_TLBL, |
216 | 221 |
EXCP_TLBS, |
Also available in: Unified diff