aboutsummaryrefslogtreecommitdiff
path: root/target/moxie
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2018-05-30 18:06:23 -0700
committerRichard Henderson <richard.henderson@linaro.org>2018-06-01 15:15:27 -0700
commit07ea28b41830f946de3841b0ac61a3413679feb9 (patch)
tree42c4837f1a3f06b76291c9cf8412914d2c27c346 /target/moxie
parent392fba9f583223786f844dce9b2e7f9a0ce0147a (diff)
downloadqemu-07ea28b41830f946de3841b0ac61a3413679feb9.zip
qemu-07ea28b41830f946de3841b0ac61a3413679feb9.tar.gz
qemu-07ea28b41830f946de3841b0ac61a3413679feb9.tar.bz2
tcg: Pass tb and index to tcg_gen_exit_tb separately
Do the cast to uintptr_t within the helper, so that the compiler can type check the pointer argument. We can also do some more sanity checking of the index argument. Reviewed-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/moxie')
-rw-r--r--target/moxie/translate.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/target/moxie/translate.c b/target/moxie/translate.c
index 28b405f..29da02b 100644
--- a/target/moxie/translate.c
+++ b/target/moxie/translate.c
@@ -132,13 +132,13 @@ static inline void gen_goto_tb(CPUMoxieState *env, DisasContext *ctx,
if (use_goto_tb(ctx, dest)) {
tcg_gen_goto_tb(n);
tcg_gen_movi_i32(cpu_pc, dest);
- tcg_gen_exit_tb((uintptr_t)ctx->tb + n);
+ tcg_gen_exit_tb(ctx->tb, n);
} else {
tcg_gen_movi_i32(cpu_pc, dest);
if (ctx->singlestep_enabled) {
gen_helper_debug(cpu_env);
}
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
}
}
@@ -328,7 +328,7 @@ static int decode_opc(MoxieCPU *cpu, DisasContext *ctx)
tcg_temp_free_i32(t1);
/* Jump... */
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
ctx->bstate = BS_BRANCH;
}
@@ -472,14 +472,14 @@ static int decode_opc(MoxieCPU *cpu, DisasContext *ctx)
tcg_gen_mov_i32(cpu_pc, REG(fnreg));
tcg_temp_free_i32(t1);
tcg_temp_free_i32(t2);
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
ctx->bstate = BS_BRANCH;
}
break;
case 0x1a: /* jmpa */
{
tcg_gen_movi_i32(cpu_pc, cpu_ldl_code(env, ctx->pc+2));
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
ctx->bstate = BS_BRANCH;
length = 6;
}
@@ -584,7 +584,7 @@ static int decode_opc(MoxieCPU *cpu, DisasContext *ctx)
{
int reg = (opcode >> 4) & 0xf;
tcg_gen_mov_i32(cpu_pc, REG(reg));
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
ctx->bstate = BS_BRANCH;
}
break;
@@ -878,7 +878,7 @@ void gen_intermediate_code(CPUState *cs, struct TranslationBlock *tb)
gen_goto_tb(env, &ctx, 0, ctx.pc);
break;
case BS_EXCP:
- tcg_gen_exit_tb(0);
+ tcg_gen_exit_tb(NULL, 0);
break;
case BS_BRANCH:
default: