On 11/16/2012 03:04 AM, Aurelien Jarno wrote: > +static inline void check_dsp(CPUMIPSState *env, DisasContext *ctx) > { > if (unlikely(!(ctx->hflags & MIPS_HFLAG_DSP))) { > - generate_exception(ctx, EXCP_DSPDIS); > + if (env->insn_flags & ASE_DSP) { > + generate_exception(ctx, EXCP_DSPDIS); > + } else { > + generate_exception(ctx, EXCP_RI); > + }
Perhaps it would make more sense to copy env->insn_flags into a new field in DisasContext at the start of translation, rather than modify 300 instances to pass around a second pointer? r~