From 2df9744bdb1b3ef83fdf0c07bde9d72d2ddf8e20 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 21 Feb 2018 01:31:44 -0500 Subject: [PATCH] tcg: Make cpu_stick_cmpr and cpu_hstick_cmpr TCGv --- qemu/target-sparc/translate.c | 18 ++++++++---------- qemu/tcg/tcg.h | 4 ++-- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/qemu/target-sparc/translate.c b/qemu/target-sparc/translate.c index 973a21fd..60bfdc57 100644 --- a/qemu/target-sparc/translate.c +++ b/qemu/target-sparc/translate.c @@ -2908,7 +2908,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins } break; case 0x19: /* System tick compare */ - gen_store_gpr(dc, rd, *(TCGv *)tcg_ctx->cpu_stick_cmpr); + gen_store_gpr(dc, rd, tcg_ctx->cpu_stick_cmpr); break; case 0x10: /* Performance Control */ case 0x11: /* Performance Instrumentation Counter */ @@ -2949,7 +2949,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins tcg_gen_mov_tl(tcg_ctx, cpu_dst, *(TCGv *)tcg_ctx->cpu_hver); break; case 31: // hstick_cmpr - tcg_gen_mov_tl(tcg_ctx, cpu_dst, *(TCGv *)tcg_ctx->cpu_hstick_cmpr); + tcg_gen_mov_tl(tcg_ctx, cpu_dst, tcg_ctx->cpu_hstick_cmpr); break; default: goto illegal_insn; @@ -3847,13 +3847,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_stick_cmpr, cpu_src1, + tcg_gen_xor_tl(tcg_ctx, tcg_ctx->cpu_stick_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, stick)); gen_helper_tick_set_limit(tcg_ctx, r_tickptr, - *(TCGv *)tcg_ctx->cpu_stick_cmpr); + tcg_ctx->cpu_stick_cmpr); tcg_temp_free_ptr(tcg_ctx, r_tickptr); } break; @@ -4068,12 +4068,12 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins { TCGv_ptr r_tickptr; - tcg_gen_mov_tl(tcg_ctx, *(TCGv *)tcg_ctx->cpu_hstick_cmpr, cpu_tmp0); + tcg_gen_mov_tl(tcg_ctx, tcg_ctx->cpu_hstick_cmpr, cpu_tmp0); r_tickptr = tcg_temp_new_ptr(tcg_ctx); tcg_gen_ld_ptr(tcg_ctx, r_tickptr, tcg_ctx->cpu_env, offsetof(CPUSPARCState, hstick)); gen_helper_tick_set_limit(tcg_ctx, r_tickptr, - *(TCGv *)tcg_ctx->cpu_hstick_cmpr); + tcg_ctx->cpu_hstick_cmpr); tcg_temp_free_ptr(tcg_ctx, r_tickptr); } break; @@ -5540,13 +5540,11 @@ void gen_intermediate_code_init(CPUSPARCState *env) offsetof(CPUSPARCState, tick_cmpr), "tick_cmpr"); - tcg_ctx->cpu_stick_cmpr = g_malloc0(sizeof(TCGv)); - *(TCGv *)tcg_ctx->cpu_stick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, + tcg_ctx->cpu_stick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, stick_cmpr), "stick_cmpr"); - tcg_ctx->cpu_hstick_cmpr = g_malloc0(sizeof(TCGv)); - *(TCGv *)tcg_ctx->cpu_hstick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, + tcg_ctx->cpu_hstick_cmpr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, hstick_cmpr), "hstick_cmpr"); diff --git a/qemu/tcg/tcg.h b/qemu/tcg/tcg.h index 34c6934c..95827eda 100644 --- a/qemu/tcg/tcg.h +++ b/qemu/tcg/tcg.h @@ -841,8 +841,8 @@ struct TCGContext { TCGv cpu_cond; TCGv cpu_gsr; TCGv cpu_tick_cmpr; - void *cpu_stick_cmpr; - void *cpu_hstick_cmpr; + TCGv cpu_stick_cmpr; + TCGv cpu_hstick_cmpr; void *cpu_hintp; void *cpu_htba; void *cpu_hver;