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