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