And fix the temp leak along the way. Cc: "Edgar E. Iglesias" <edgar.igles...@gmail.com> Signed-off-by: Emilio G. Cota <c...@braap.org> --- target/cris/translate.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/target/cris/translate.c b/target/cris/translate.c index 4ae1c04daf..0ccb65fbed 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -2833,8 +2833,9 @@ static int dec_rfe_etc(CPUCRISState *env, DisasContext *dc) cris_cc_mask(dc, 0); if (dc->op2 == 15) { - tcg_gen_st_i32(tcg_const_i32(1), cpu_env, - -offsetof(CRISCPU, env) + offsetof(CPUState, halted)); + TCGv_i32 tmp = tcg_const_i32(1); + gen_helper_cpu_halted_set(cpu_env, tmp); + tcg_temp_free_i32(tmp); tcg_gen_movi_tl(env_pc, dc->pc + 2); t_gen_raise_exception(EXCP_HLT); return 2; -- 2.17.1