diff --git a/qemu/target-sparc/translate.c b/qemu/target-sparc/translate.c index e1bbe0ab..8821544a 100644 --- a/qemu/target-sparc/translate.c +++ b/qemu/target-sparc/translate.c @@ -3069,7 +3069,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins tcg_gen_mov_tl(tcg_ctx, cpu_tmp0, tcg_ctx->cpu_ssr); break; case 31: // ver - tcg_gen_mov_tl(tcg_ctx, cpu_tmp0, *(TCGv *)tcg_ctx->cpu_ver); + tcg_gen_mov_tl(tcg_ctx, cpu_tmp0, tcg_ctx->cpu_ver); break; case 15: // fq default: @@ -5560,8 +5560,7 @@ void gen_intermediate_code_init(CPUSPARCState *env) tcg_ctx->cpu_ssr = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, ssr), "ssr"); - tcg_ctx->cpu_ver = g_malloc0(sizeof(TCGv)); - *(TCGv *)tcg_ctx->cpu_ver = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, + tcg_ctx->cpu_ver = tcg_global_mem_new(tcg_ctx, tcg_ctx->cpu_env, offsetof(CPUSPARCState, version), "ver"); tcg_ctx->cpu_softint = tcg_global_mem_new_i32(tcg_ctx, tcg_ctx->cpu_env, diff --git a/qemu/tcg/tcg.h b/qemu/tcg/tcg.h index ba0ef542..db1fa4d1 100644 --- a/qemu/tcg/tcg.h +++ b/qemu/tcg/tcg.h @@ -847,7 +847,7 @@ struct TCGContext { TCGv cpu_htba; TCGv cpu_hver; TCGv cpu_ssr; - void *cpu_ver; + TCGv cpu_ver; void *cpu_wim; TCGLabel *exitreq_label; // gen_tb_start()