On 2/22/21 2:39 PM, Philippe Mathieu-Daudé wrote: > +#else /* !defined(TARGET_MIPS64) */ > + > +bool decode_ase_mxu(DisasContext *ctx, uint32_t insn) > +{ > + return false;
Also seems suspect, but harmless. > -#if !defined(TARGET_MIPS64) > - if (ctx->insn_flags & ASE_MXU) { > + if ((TARGET_LONG_BITS == 32) && (ctx->insn_flags & ASE_MXU)) { > decode_opc_mxu(ctx, ctx->opcode); (1) Unnecessary () around ==. (2) The call to decode_opc_mxu should be eliminated by the compiler because of the constant false test. You can (a) retain the function above and omit the new test, (b) add the new test and leave the function undefined, a diagnostic link error, or you can re-declare the function with QEMU_ERROR. > @@ -28081,9 +28085,7 @@ void mips_tcg_init(void) > cpu_llval = tcg_global_mem_new(cpu_env, offsetof(CPUMIPSState, llval), > "llval"); > > -#if !defined(TARGET_MIPS64) > mxu_translate_init(); > -#endif /* !TARGET_MIPS64 */ This one won't be eliminated, and is an abort for MIPS64 per patch 8, so all mips64 now aborts on startup. r~