Revision c570fd16 target-mips/cpu.h
b/target-mips/cpu.h | ||
---|---|---|
15 | 15 |
typedef unsigned int uint_fast16_t; |
16 | 16 |
#endif |
17 | 17 |
|
18 |
#ifdef MIPS_HAS_MIPS64 |
|
19 |
#define SIGN_EXTEND32(val) (((((uint64_t)(val)) & 0xFFFFFFFF) ^ 0x80000000) - 0x80000000) |
|
20 |
/* target_ulong size spec */ |
|
21 |
#define TLSZ "%016llx" |
|
22 |
#else |
|
23 |
#define SIGN_EXTEND32(val) (val) |
|
24 |
/* target_ulong size spec */ |
|
25 |
#define TLSZ "%08x" |
|
26 |
#endif |
|
27 |
|
|
18 | 28 |
typedef union fpr_t fpr_t; |
19 | 29 |
union fpr_t { |
20 | 30 |
float64 fd; /* ieee double precision */ |
... | ... | |
55 | 65 |
target_ulong gpr[32]; |
56 | 66 |
/* Special registers */ |
57 | 67 |
target_ulong PC; |
58 |
uint32_t HI, LO; |
|
68 |
#if TARGET_LONG_BITS > HOST_LONG_BITS |
|
69 |
target_ulong t0; |
|
70 |
target_ulong t1; |
|
71 |
target_ulong t2; |
|
72 |
#endif |
|
73 |
target_ulong HI, LO; |
|
59 | 74 |
uint32_t DCR; /* ? */ |
60 | 75 |
#if defined(MIPS_USES_FPU) |
61 | 76 |
/* Floating point registers */ |
... | ... | |
106 | 121 |
uint32_t CP0_PageGrain; |
107 | 122 |
uint32_t CP0_Wired; |
108 | 123 |
uint32_t CP0_HWREna; |
109 |
uint32_t CP0_BadVAddr;
|
|
124 |
target_ulong CP0_BadVAddr;
|
|
110 | 125 |
uint32_t CP0_Count; |
111 | 126 |
uint64_t CP0_EntryHi; |
112 | 127 |
uint32_t CP0_Compare; |
... | ... | |
145 | 160 |
#define CP0Ca_WP 22 |
146 | 161 |
#define CP0Ca_IP 8 |
147 | 162 |
#define CP0Ca_EC 2 |
148 |
uint32_t CP0_EPC;
|
|
163 |
target_ulong CP0_EPC;
|
|
149 | 164 |
uint32_t CP0_PRid; |
150 |
uint32_t CP0_EBase;
|
|
165 |
target_ulong CP0_EBase;
|
|
151 | 166 |
uint32_t CP0_Config0; |
152 | 167 |
#define CP0C0_M 31 |
153 | 168 |
#define CP0C0_K23 28 |
... | ... | |
197 | 212 |
#define CP0C3_MT 2 |
198 | 213 |
#define CP0C3_SM 1 |
199 | 214 |
#define CP0C3_TL 0 |
200 |
uint32_t CP0_LLAddr;
|
|
215 |
target_ulong CP0_LLAddr;
|
|
201 | 216 |
uint32_t CP0_WatchLo; |
202 | 217 |
uint32_t CP0_WatchHi; |
203 | 218 |
uint32_t CP0_XContext; |
... | ... | |
221 | 236 |
#define CP0DB_DDBL 2 |
222 | 237 |
#define CP0DB_DBp 1 |
223 | 238 |
#define CP0DB_DSS 0 |
224 |
uint32_t CP0_DEPC;
|
|
239 |
target_ulong CP0_DEPC;
|
|
225 | 240 |
uint32_t CP0_Performance0; |
226 | 241 |
uint32_t CP0_TagLo; |
227 | 242 |
uint32_t CP0_DataLo; |
228 | 243 |
uint32_t CP0_TagHi; |
229 | 244 |
uint32_t CP0_DataHi; |
230 |
uint32_t CP0_ErrorEPC;
|
|
245 |
target_ulong CP0_ErrorEPC;
|
|
231 | 246 |
uint32_t CP0_DESAVE; |
232 | 247 |
/* Qemu */ |
233 | 248 |
int interrupt_request; |
Also available in: Unified diff