[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/62] target/mips: Replace `tb_pc()` with `tb->pc`
From: |
Richard Henderson |
Subject: |
[PULL 23/62] target/mips: Replace `tb_pc()` with `tb->pc` |
Date: |
Tue, 28 Feb 2023 16:56:04 -1000 |
From: Anton Johansson via <qemu-devel@nongnu.org>
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>
---
target/mips/tcg/exception.c | 3 ++-
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 96e61170e6..da49a93912 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 3c5f35c759..93276f789d 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;
--
2.34.1
- [PULL 11/62] target/i386: Replace `TARGET_TB_PCREL` with `CF_PCREL`, (continued)
- [PULL 11/62] target/i386: Replace `TARGET_TB_PCREL` with `CF_PCREL`, Richard Henderson, 2023/02/28
- [PULL 12/62] include/exec: Remove `TARGET_TB_PCREL` define, Richard Henderson, 2023/02/28
- [PULL 18/62] target/sparc: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 16/62] accel/tcg: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 20/62] target/rx: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 17/62] target/tricore: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 21/62] target/riscv: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 15/62] accel/tcg: Move jmp-cache `CF_PCREL` checks to caller, Richard Henderson, 2023/02/28
- [PULL 19/62] target/sh4: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 22/62] target/openrisc: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 23/62] target/mips: Replace `tb_pc()` with `tb->pc`,
Richard Henderson <=
- [PULL 24/62] target/microblaze: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 28/62] target/hexagon: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 30/62] target/arm: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 32/62] tcg: Adjust TCGContext.temps_in_use check, Richard Henderson, 2023/02/28
- [PULL 25/62] target/loongarch: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 31/62] include/exec: Remove `tb_pc()`, Richard Henderson, 2023/02/28
- [PULL 33/62] accel/tcg: Pass max_insn to gen_intermediate_code by pointer, Richard Henderson, 2023/02/28
- [PULL 29/62] target/avr: Replace `tb_pc()` with `tb->pc`, Richard Henderson, 2023/02/28
- [PULL 34/62] accel/tcg: Use more accurate max_insns for tb_overflow, Richard Henderson, 2023/02/28
- [PULL 35/62] tcg: Remove branch-to-next regardless of reference count, Richard Henderson, 2023/02/28