Revision 3a3b925d target-sparc/cpu.h
b/target-sparc/cpu.h | ||
---|---|---|
147 | 147 |
#ifdef TARGET_SPARC64 |
148 | 148 |
#define FSR_FTT_NMASK 0xfffffffffffe3fffULL |
149 | 149 |
#define FSR_FTT_CEXC_NMASK 0xfffffffffffe3fe0ULL |
150 |
#define FSR_LDFSR_OLDMASK 0x0000003f000fc000ULL |
|
151 |
#define FSR_LDXFSR_MASK 0x0000003fcfc00fffULL |
|
152 |
#define FSR_LDXFSR_OLDMASK 0x00000000000fc000ULL |
|
150 | 153 |
#else |
151 | 154 |
#define FSR_FTT_NMASK 0xfffe3fffULL |
152 | 155 |
#define FSR_FTT_CEXC_NMASK 0xfffe3fe0ULL |
156 |
#define FSR_LDFSR_OLDMASK 0x000fc000ULL |
|
153 | 157 |
#endif |
158 |
#define FSR_LDFSR_MASK 0xcfc00fffULL |
|
154 | 159 |
#define FSR_FTT_IEEE_EXCP (1ULL << 14) |
155 | 160 |
#define FSR_FTT_UNIMPFPOP (3ULL << 14) |
156 | 161 |
#define FSR_FTT_SEQ_ERROR (4ULL << 14) |
... | ... | |
329 | 334 |
sparc_def_t *def; |
330 | 335 |
} CPUSPARCState; |
331 | 336 |
|
332 |
#if defined(TARGET_SPARC64) |
|
333 |
#define GET_FSR32(env) (env->fsr & 0xcfc1ffff) |
|
334 |
#define PUT_FSR32(env, val) do { uint32_t _tmp = val; \ |
|
335 |
env->fsr = (_tmp & 0xcfc1c3ff) | (env->fsr & 0x3f00000000ULL); \ |
|
336 |
} while (0) |
|
337 |
#define GET_FSR64(env) (env->fsr & 0x3fcfc1ffffULL) |
|
338 |
#define PUT_FSR64(env, val) do { uint64_t _tmp = val; \ |
|
339 |
env->fsr = _tmp & 0x3fcfc1c3ffULL; \ |
|
340 |
} while (0) |
|
341 |
#else |
|
342 |
#define GET_FSR32(env) (env->fsr) |
|
343 |
#define PUT_FSR32(env, val) do { uint32_t _tmp = val; \ |
|
344 |
env->fsr = (_tmp & 0xcfc1dfff) | (env->fsr & 0x000e0000); \ |
|
345 |
} while (0) |
|
346 |
#endif |
|
347 |
|
|
348 | 337 |
/* helper.c */ |
349 | 338 |
CPUSPARCState *cpu_sparc_init(const char *cpu_model); |
350 | 339 |
void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu); |
Also available in: Unified diff