[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/26] target-sparc: Add npc state to insn_start
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 15/26] target-sparc: Add npc state to insn_start |
Date: |
Wed, 7 Oct 2015 20:43:40 +1100 |
Reviewed-by: Aurelien Jarno <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
target-sparc/cpu.h | 1 +
target-sparc/translate.c | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h
index 053edd5..c68e480 100644
--- a/target-sparc/cpu.h
+++ b/target-sparc/cpu.h
@@ -230,6 +230,7 @@ typedef struct trap_state {
uint32_t tt;
} trap_state;
#endif
+#define TARGET_INSN_START_EXTRA_WORDS 1
typedef struct sparc_def_t {
const char *name;
diff --git a/target-sparc/translate.c b/target-sparc/translate.c
index 25b5bc0..6e5b82d 100644
--- a/target-sparc/translate.c
+++ b/target-sparc/translate.c
@@ -5257,7 +5257,12 @@ static inline void
gen_intermediate_code_internal(SPARCCPU *cpu,
tcg_ctx.gen_opc_icount[lj] = num_insns;
}
}
- tcg_gen_insn_start(dc->pc);
+ if (dc->npc & JUMP_PC) {
+ assert(dc->jump_pc[1] == dc->pc + 4);
+ tcg_gen_insn_start(dc->pc, dc->jump_pc[0] | JUMP_PC);
+ } else {
+ tcg_gen_insn_start(dc->pc, dc->npc);
+ }
num_insns++;
if (unlikely(cpu_breakpoint_test(cs, dc->pc, BP_ANY))) {
--
2.4.3
- [Qemu-devel] [PULL 24/26] tcg: Allocate a guard page after code_gen_buffer, (continued)
- [Qemu-devel] [PULL 24/26] tcg: Allocate a guard page after code_gen_buffer, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 02/26] target-*: Unconditionally emit tcg_gen_insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 11/26] target-cris: Mirror gen_opc_pc into insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 08/26] target-mips: Add delayed branch state to insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 07/26] target-i386: Add cc_op state to insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 14/26] target-sparc: Remove gen_opc_jump_pc, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 26/26] tcg: Adjust CODE_GEN_AVG_BLOCK_SIZE, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 09/26] target-s390x: Add cc_op state to insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 12/26] target-sparc: Tidy gen_branch_a interface, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 01/26] tcg: Rename debug_insn_start to insn_start, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 15/26] target-sparc: Add npc state to insn_start,
Richard Henderson <=
- [Qemu-devel] [PULL 19/26] tcg: Pass data argument to restore_state_to_opc, Richard Henderson, 2015/10/08
- [Qemu-devel] [PULL 25/26] tcg: Check for overflow via highwater mark, Richard Henderson, 2015/10/08
- Re: [Qemu-devel] [PULL 00/26] Do away with TB retranslation, Peter Maydell, 2015/10/08