diff mbox series

[RFC,v4,09/71] cris: convert to helper_cpu_halted_set

Message ID 20181025144644.15464-9-cota@braap.org (mailing list archive)
State New, archived
Headers show
Series [RFC,v4,01/71] cpu: convert queued work to a QSIMPLEQ | expand

Commit Message

Emilio Cota Oct. 25, 2018, 2:45 p.m. UTC
And fix the temp leak along the way.

Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Signed-off-by: Emilio G. Cota <cota@braap.org>
---
 target/cris/translate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Richard Henderson Oct. 26, 2018, 2:58 p.m. UTC | #1
On 10/25/18 3:45 PM, Emilio G. Cota wrote:
> And fix the temp leak along the way.
> 
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Signed-off-by: Emilio G. Cota <cota@braap.org>
> ---
>  target/cris/translate.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Alex Bennée Oct. 31, 2018, 11:42 a.m. UTC | #2
Emilio G. Cota <cota@braap.org> writes:

> And fix the temp leak along the way.
>
> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
> Signed-off-by: Emilio G. Cota <cota@braap.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.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;


--
Alex Bennée
diff mbox series

Patch

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;