diff options
author | Anton Johansson <anjo@rev.ng> | 2023-02-27 14:51:54 +0100 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-03-01 07:33:17 -1000 |
commit | 420bf265bea22405df81f486e5e9ffd62e3bc3df (patch) | |
tree | 4b27ef83816c0d0b49170b12fb21ecaa9104bf21 /target/mips | |
parent | 1aca4a2b319f5bf3734a78c41958d6a246df8778 (diff) | |
download | qemu-420bf265bea22405df81f486e5e9ffd62e3bc3df.zip qemu-420bf265bea22405df81f486e5e9ffd62e3bc3df.tar.gz qemu-420bf265bea22405df81f486e5e9ffd62e3bc3df.tar.bz2 |
target/mips: Replace `tb_pc()` with `tb->pc`
Signed-off-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230227135202.9710-20-anjo@rev.ng>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/mips')
-rw-r--r-- | target/mips/tcg/exception.c | 3 | ||||
-rw-r--r-- | target/mips/tcg/sysemu/special_helper.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/target/mips/tcg/exception.c b/target/mips/tcg/exception.c index 96e6117..da49a93 100644 --- a/target/mips/tcg/exception.c +++ b/target/mips/tcg/exception.c @@ -82,7 +82,8 @@ void mips_cpu_synchronize_from_tb(CPUState *cs, const TranslationBlock *tb) MIPSCPU *cpu = MIPS_CPU(cs); CPUMIPSState *env = &cpu->env; - env->active_tc.PC = tb_pc(tb); + tcg_debug_assert(!(cs->tcg_cflags & CF_PCREL)); + env->active_tc.PC = tb->pc; env->hflags &= ~MIPS_HFLAG_BMASK; env->hflags |= tb->flags & MIPS_HFLAG_BMASK; } diff --git a/target/mips/tcg/sysemu/special_helper.c b/target/mips/tcg/sysemu/special_helper.c index 3c5f35c..93276f7 100644 --- a/target/mips/tcg/sysemu/special_helper.c +++ b/target/mips/tcg/sysemu/special_helper.c @@ -94,7 +94,7 @@ bool mips_io_recompile_replay_branch(CPUState *cs, const TranslationBlock *tb) CPUMIPSState *env = &cpu->env; if ((env->hflags & MIPS_HFLAG_BMASK) != 0 - && env->active_tc.PC != tb_pc(tb)) { + && !(cs->tcg_cflags & CF_PCREL) && env->active_tc.PC != tb->pc) { env->active_tc.PC -= (env->hflags & MIPS_HFLAG_B16 ? 2 : 4); env->hflags &= ~MIPS_HFLAG_BMASK; return true; |