aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2024-12-21 16:50:26 +0000
committerRichard Henderson <richard.henderson@linaro.org>2024-12-24 08:32:15 -0800
commite4a8e093dc74be049f4829831dce76e5edab0003 (patch)
tree20354b9913086ac3a535e06e4d28057f88710d14 /include
parent59abfb444e1d9654e15f85c50d09a3366e4c1c1e (diff)
downloadqemu-e4a8e093dc74be049f4829831dce76e5edab0003.zip
qemu-e4a8e093dc74be049f4829831dce76e5edab0003.tar.gz
qemu-e4a8e093dc74be049f4829831dce76e5edab0003.tar.bz2
accel/tcg: Move gen_intermediate_code to TCGCPUOps.translate_core
Convert all targets simultaneously, as the gen_intermediate_code function disappears from the target. While there are possible workarounds, they're larger than simply performing the conversion. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'include')
-rw-r--r--include/exec/translator.h14
-rw-r--r--include/hw/core/tcg-cpu-ops.h13
2 files changed, 13 insertions, 14 deletions
diff --git a/include/exec/translator.h b/include/exec/translator.h
index 41e2a41..d70942a 100644
--- a/include/exec/translator.h
+++ b/include/exec/translator.h
@@ -22,20 +22,6 @@
#include "exec/vaddr.h"
/**
- * gen_intermediate_code
- * @cpu: cpu context
- * @tb: translation block
- * @max_insns: max number of instructions to translate
- * @pc: guest virtual program counter address
- * @host_pc: host physical program counter address
- *
- * This function must be provided by the target, which should create
- * the target-specific DisasContext, and then invoke translator_loop.
- */
-void gen_intermediate_code(CPUState *cpu, TranslationBlock *tb, int *max_insns,
- vaddr pc, void *host_pc);
-
-/**
* DisasJumpType:
* @DISAS_NEXT: Next instruction in program order.
* @DISAS_TOO_MANY: Too many instructions translated.
diff --git a/include/hw/core/tcg-cpu-ops.h b/include/hw/core/tcg-cpu-ops.h
index 663efb9..2e3f169 100644
--- a/include/hw/core/tcg-cpu-ops.h
+++ b/include/hw/core/tcg-cpu-ops.h
@@ -25,6 +25,19 @@ struct TCGCPUOps {
*/
void (*initialize)(void);
/**
+ * @translate_code: Translate guest instructions to TCGOps
+ * @cpu: cpu context
+ * @tb: translation block
+ * @max_insns: max number of instructions to translate
+ * @pc: guest virtual program counter address
+ * @host_pc: host physical program counter address
+ *
+ * This function must be provided by the target, which should create
+ * the target-specific DisasContext, and then invoke translator_loop.
+ */
+ void (*translate_code)(CPUState *cpu, TranslationBlock *tb,
+ int *max_insns, vaddr pc, void *host_pc);
+ /**
* @synchronize_from_tb: Synchronize state from a TCG #TranslationBlock
*
* This is called when we abandon execution of a TB before starting it,