diff mbox series

[v9,10/74] cris: convert to helper_cpu_halted_set

Message ID 20200521164011.638-11-robert.foley@linaro.org
State Superseded
Headers show
Series per-CPU locks | expand

Commit Message

Robert Foley May 21, 2020, 4:39 p.m. UTC
From: "Emilio G. Cota" <cota@braap.org>


And fix the temp leak along the way.

Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

Signed-off-by: Emilio G. Cota <cota@braap.org>

Signed-off-by: Robert Foley <robert.foley@linaro.org>

---
 target/cris/translate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.17.1

Comments

Edgar E. Iglesias May 21, 2020, 4:45 p.m. UTC | #1
On Thu, May 21, 2020 at 12:39:07PM -0400, Robert Foley wrote:
> From: "Emilio G. Cota" <cota@braap.org>

> 

> And fix the temp leak along the way.

> 

> Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>

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

> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>

> Signed-off-by: Emilio G. Cota <cota@braap.org>

> Signed-off-by: Robert Foley <robert.foley@linaro.org>


Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>



> ---

>  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 aaa46b5bca..6c4f091b7a 100644

> --- a/target/cris/translate.c

> +++ b/target/cris/translate.c

> @@ -2823,8 +2823,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

>
diff mbox series

Patch

diff --git a/target/cris/translate.c b/target/cris/translate.c
index aaa46b5bca..6c4f091b7a 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -2823,8 +2823,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;