[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/9] target/m68k: Rename DISAS_UPDATE and gen_lookup
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 5/9] target/m68k: Rename DISAS_UPDATE and gen_lookup_tb |
Date: |
Fri, 11 May 2018 22:02:46 -0700 |
The name gen_lookup_tb is at odds with tcg_gen_lookup_and_goto_tb.
For these cases, we do indeed want to exit back to the main loop.
Similarly, DISAS_UPDATE performs no actual update, whereas DISAS_EXIT
does what it says.
Signed-off-by: Richard Henderson <address@hidden>
---
target/m68k/translate.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 80712ed0af..ff1a8d58f4 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -198,7 +198,7 @@ static void do_writebacks(DisasContext *s)
/* is_jmp field values */
#define DISAS_JUMP DISAS_TARGET_0 /* only pc was modified dynamically */
-#define DISAS_UPDATE DISAS_TARGET_1 /* cpu state was modified dynamically */
+#define DISAS_EXIT DISAS_TARGET_1 /* cpu state was modified dynamically */
#if defined(CONFIG_USER_ONLY)
#define IS_USER(s) 1
@@ -1446,11 +1446,11 @@ static void gen_jmpcc(DisasContext *s, int cond,
TCGLabel *l1)
}
/* Force a TB lookup after an instruction that changes the CPU state. */
-static void gen_lookup_tb(DisasContext *s)
+static void gen_exit_tb(DisasContext *s)
{
update_cc_op(s);
tcg_gen_movi_i32(QREG_PC, s->pc);
- s->is_jmp = DISAS_UPDATE;
+ s->is_jmp = DISAS_EXIT;
}
#define SRC_EA(env, result, opsize, op_sign, addrp) do { \
@@ -4604,7 +4604,7 @@ DISAS_INSN(move_to_sr)
return;
}
gen_move_to_sr(env, s, insn, false);
- gen_lookup_tb(s);
+ gen_exit_tb(s);
}
DISAS_INSN(move_from_usp)
@@ -4680,7 +4680,7 @@ DISAS_INSN(cf_movec)
reg = DREG(ext, 12);
}
gen_helper_cf_movec_to(cpu_env, tcg_const_i32(ext & 0xfff), reg);
- gen_lookup_tb(s);
+ gen_exit_tb(s);
}
DISAS_INSN(m68k_movec)
@@ -4705,7 +4705,7 @@ DISAS_INSN(m68k_movec)
} else {
gen_helper_m68k_movec_from(reg, cpu_env, tcg_const_i32(ext & 0xfff));
}
- gen_lookup_tb(s);
+ gen_exit_tb(s);
}
DISAS_INSN(intouch)
@@ -5749,7 +5749,7 @@ DISAS_INSN(to_macsr)
TCGv val;
SRC_EA(env, val, OS_LONG, 0, NULL);
gen_helper_set_macsr(cpu_env, val);
- gen_lookup_tb(s);
+ gen_exit_tb(s);
}
DISAS_INSN(to_mask)
@@ -6144,9 +6144,9 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock
*tb)
tcg_gen_lookup_and_goto_ptr();
break;
default:
- case DISAS_UPDATE:
- update_cc_op(dc);
- /* indicate that the hash table must be used to find the next TB */
+ case DISAS_EXIT:
+ /* We updated CC_OP and PC in gen_exit_tb, but also modified
+ other state that may require returning to the main loop. */
tcg_gen_exit_tb(0);
break;
case DISAS_NORETURN:
--
2.17.0
- [Qemu-devel] [PATCH v1.1 0/9] target/m68k: Convert to TranslatorOps, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 3/9] target/m68k: Remove DISAS_JUMP_NEXT as unused, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 1/9] target/m68k: Use DISAS_NORETURN for exceptions, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 5/9] target/m68k: Rename DISAS_UPDATE and gen_lookup_tb,
Richard Henderson <=
- [Qemu-devel] [PATCH 4/9] target/m68k: Use lookup_and_goto_tb for DISAS_JUMP, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 2/9] target/m68k: Replace DISAS_TB_JUMP with DISAS_NORETURN, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 8/9] target/m68k: Improve ending TB at page boundaries, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 7/9] target/m68k: Convert to TranslatorOps, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 6/9] target/m68k: Convert to DisasContextBase, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 9/9] target/m68k: Merge disas_m68k_insn into m68k_tr_translate_insn, Richard Henderson, 2018/05/12
- Re: [Qemu-devel] [PATCH v1.1 0/9] target/m68k: Convert to TranslatorOps, no-reply, 2018/05/12
- Re: [Qemu-devel] [PATCH v1.1 0/9] target/m68k: Convert to TranslatorOps, Laurent Vivier, 2018/05/13