diff --git a/qemu/target-sparc/translate.c b/qemu/target-sparc/translate.c index e35fbfdb..973a21fd 100644 --- a/qemu/target-sparc/translate.c +++ b/qemu/target-sparc/translate.c @@ -2893,7 +2893,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins gen_store_gpr(dc, rd, cpu_dst); break; case 0x17: /* Tick compare */ - gen_store_gpr(dc, rd, *(TCGv *)tcg_ctx->cpu_tick_cmpr); + gen_store_gpr(dc, rd, tcg_ctx->cpu_tick_cmpr); break; case 0x18: /* System tick */ { @@ -3811,13 +3811,13 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins { TCGv_ptr r_tickptr; - tcg_gen_xor_tl(tcg_ctx, *(TCGv *)tcg_ctx->cpu_tick_cmpr, cpu_src1, + tcg_gen_xor_tl(tcg_ctx, tcg_ctx->cpu_tick_cmpr, cpu_src1, cpu_src2); r_tickptr = tcg_temp_new_ptr(tcg_ctx); tcg_gen_ld_ptr(tcg_ctx, r_tickptr, tcg_ctx->cpu_env, offsetof(CPUSPARCState, tick)); gen_helper_tick_set_limit(tcg_ctx, r_tickptr, - *(TCGv *)tcg_ctx->cpu_tick_cmpr); + tcg_ctx->cpu_tick_cmpr); tcg_temp_free_ptr(tcg_ctx, r_tickptr); } break; @@ -5536,8 +5536,7 @@ void gen_intermediate_code_init(CPUSPARCState *env) tcg_ctx->cpu_gsr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, gsr), "gsr"); - tcg_ctx->cpu_tick_cmpr = g_malloc0(sizeof(TCGv)); - *(TCGv *)tcg_ctx->cpu_tick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, + tcg_ctx->cpu_tick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, tick_cmpr), "tick_cmpr"); diff --git a/qemu/tcg/tcg.h b/qemu/tcg/tcg.h index 72de828d..34c6934c 100644 --- a/qemu/tcg/tcg.h +++ b/qemu/tcg/tcg.h @@ -840,8 +840,14 @@ struct TCGContext { TCGv cpu_tbr; TCGv cpu_cond; TCGv cpu_gsr; - void *cpu_tick_cmpr, *cpu_stick_cmpr, *cpu_hstick_cmpr; - void *cpu_hintp, *cpu_htba, *cpu_hver, *cpu_ssr, *cpu_ver; + TCGv cpu_tick_cmpr; + void *cpu_stick_cmpr; + void *cpu_hstick_cmpr; + void *cpu_hintp; + void *cpu_htba; + void *cpu_hver; + void *cpu_ssr; + void *cpu_ver; void *cpu_wim; TCGLabel *exitreq_label; // gen_tb_start()