TB compile flags, tb_page_addr_t type, tb_cflags() and few
other methods are defined in "exec/translation-block.h".
All these files don't include "exec/translation-block.h" but
include "exec/exec-all.h" which include it. Explicitly include
"exec/translation-block.h" to be able to remove it from
"exec/exec-all.h" later when it won't be necessary. Otherwise
we'd get errors such:
accel/tcg/internal-target.h:59:20: error: a parameter list without types is only allowed in a function definition
59 | void tb_lock_page0(tb_page_addr_t);
| ^
accel/tcg/tb-hash.h:64:23: error: unknown type name 'tb_page_addr_t'
64 | uint32_t tb_hash_func(tb_page_addr_t phys_pc, vaddr pc,
| ^
accel/tcg/tcg-accel-ops.c:62:36: error: use of undeclared identifier 'CF_CLUSTER_SHIFT'
62 | cflags = cpu->cluster_index << CF_CLUSTER_SHIFT;
| ^
accel/tcg/watchpoint.c:102:47: error: use of undeclared identifier 'CF_NOIRQ'
102 | cpu->cflags_next_tb = 1 | CF_NOIRQ | curr_cflags(cpu);
| ^
target/i386/helper.c:536:28: error: use of undeclared identifier 'CF_PCREL'
536 | if (tcg_cflags_has(cs, CF_PCREL)) {
| ^
target/rx/cpu.c:51:21: error: incomplete definition of type 'struct TranslationBlock'
51 | cpu->env.pc = tb->pc;
| ~~^
system/physmem.c:2977:9: error: call to undeclared function 'tb_invalidate_phys_range'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
2977 | tb_invalidate_phys_range(addr, addr + length - 1);
| ^
plugins/api.c:96:12: error: call to undeclared function 'tb_cflags'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
96 | return tb_cflags(tcg_ctx->gen_tb) & CF_MEMI_ONLY;
| ^
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241114011310.3615-5-philmd@linaro.org>
---
accel/tcg/internal-target.h | 1 +
accel/tcg/tb-hash.h | 1 +
target/arm/tcg/translate.h | 1 +
cpu-target.c | 1 +
linux-user/elfload.c | 1 +
plugins/api.c | 1 +
system/physmem.c | 1 +
target/alpha/cpu.c | 1 +
target/alpha/translate.c | 1 +
target/arm/helper.c | 1 +
target/avr/translate.c | 1 +
target/hppa/translate.c | 1 +
target/i386/tcg/tcg-cpu.c | 1 +
target/i386/tcg/translate.c | 1 +
target/m68k/translate.c | 1 +
target/microblaze/translate.c | 1 +
target/openrisc/translate.c | 1 +
target/ppc/translate.c | 1 +
target/riscv/translate.c | 1 +
target/rx/translate.c | 1 +
target/s390x/tcg/translate.c | 1 +
target/sh4/translate.c | 1 +
target/sparc/translate.c | 1 +
target/tricore/translate.c | 1 +
target/xtensa/translate.c | 1 +
25 files changed, 25 insertions(+)
diff --git a/accel/tcg/internal-target.h b/accel/tcg/internal-target.h
index 3ed81e740d3..a664be02cc7 100644
--- a/accel/tcg/internal-target.h
+++ b/accel/tcg/internal-target.h
@@ -10,6 +10,7 @@
#define ACCEL_TCG_INTERNAL_TARGET_H
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "tb-internal.h"
/*
diff --git a/accel/tcg/tb-hash.h b/accel/tcg/tb-hash.h
index a0c61f25cda..a5382f460dc 100644
--- a/accel/tcg/tb-hash.h
+++ b/accel/tcg/tb-hash.h
@@ -22,6 +22,7 @@
#include "exec/cpu-defs.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "qemu/xxhash.h"
#include "tb-jmp-cache.h"
diff --git a/target/arm/tcg/translate.h b/target/arm/tcg/translate.h
index 9b9abf19925..2d37d7c9f21 100644
--- a/target/arm/tcg/translate.h
+++ b/target/arm/tcg/translate.h
@@ -6,6 +6,7 @@
#include "tcg/tcg-op-gvec.h"
#include "exec/exec-all.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/helper-gen.h"
#include "internals.h"
#include "cpu-features.h"
diff --git a/cpu-target.c b/cpu-target.c
index 7a2efa890c4..beec7737907 100644
--- a/cpu-target.c
+++ b/cpu-target.c
@@ -42,6 +42,7 @@
#include "exec/cpu-common.h"
#include "exec/exec-all.h"
#include "exec/tb-flush.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#include "hw/core/accel-cpu.h"
#include "trace/trace-root.h"
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index effd3ab47ef..a2c152e5ad1 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -10,6 +10,7 @@
#include "user/tswap-target.h"
#include "user/page-protection.h"
#include "exec/page-protection.h"
+#include "exec/translation-block.h"
#include "user/guest-base.h"
#include "user-internals.h"
#include "signal-common.h"
diff --git a/plugins/api.c b/plugins/api.c
index 24ea64e2de5..4110cfaa237 100644
--- a/plugins/api.c
+++ b/plugins/api.c
@@ -43,6 +43,7 @@
#include "tcg/tcg.h"
#include "exec/exec-all.h"
#include "exec/gdbstub.h"
+#include "exec/translation-block.h"
#include "exec/translator.h"
#include "disas/disas.h"
#include "plugin.h"
diff --git a/system/physmem.c b/system/physmem.c
index 1459dd15eb5..c76503aea82 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -34,6 +34,7 @@
#include "exec/exec-all.h"
#include "exec/page-protection.h"
#include "exec/target_page.h"
+#include "exec/translation-block.h"
#include "hw/qdev-core.h"
#include "hw/qdev-properties.h"
#include "hw/boards.h"
diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c
index 70f67e6fd4e..9fa506bff9f 100644
--- a/target/alpha/cpu.c
+++ b/target/alpha/cpu.c
@@ -24,6 +24,7 @@
#include "qemu/qemu-print.h"
#include "cpu.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "fpu/softfloat.h"
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 660788d5c3c..629ff3cde92 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -26,6 +26,7 @@
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#define HELPER_H "helper.h"
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 449e69a6e39..5b595f951b4 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -20,6 +20,7 @@
#include "qemu/crc32c.h"
#include "qemu/qemu-print.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include <zlib.h> /* for crc32 */
#include "hw/irq.h"
#include "system/cpu-timers.h"
diff --git a/target/avr/translate.c b/target/avr/translate.c
index 2d518921159..f13b997f8d9 100644
--- a/target/avr/translate.c
+++ b/target/avr/translate.c
@@ -23,6 +23,7 @@
#include "tcg/tcg.h"
#include "cpu.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "tcg/tcg-op.h"
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 51c1762435a..d13f80fe3e4 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -27,6 +27,7 @@
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#define HELPER_H "helper.h"
diff --git a/target/i386/tcg/tcg-cpu.c b/target/i386/tcg/tcg-cpu.c
index cca19cd40e8..231ecac37d1 100644
--- a/target/i386/tcg/tcg-cpu.c
+++ b/target/i386/tcg/tcg-cpu.c
@@ -22,6 +22,7 @@
#include "helper-tcg.h"
#include "qemu/accel.h"
#include "hw/core/accel-cpu.h"
+#include "exec/translation-block.h"
#include "tcg-cpu.h"
diff --git a/target/i386/tcg/translate.c b/target/i386/tcg/translate.c
index ea7995106fb..57e83873934 100644
--- a/target/i386/tcg/translate.c
+++ b/target/i386/tcg/translate.c
@@ -21,6 +21,7 @@
#include "qemu/host-utils.h"
#include "cpu.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "tcg/tcg-op.h"
#include "tcg/tcg-op-gvec.h"
#include "exec/translator.h"
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index ad3ce345014..077151c62d9 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -21,6 +21,7 @@
#include "qemu/osdep.h"
#include "cpu.h"
#include "exec/exec-all.h"
+#include "exec/translation-block.h"
#include "tcg/tcg-op.h"
#include "qemu/log.h"
#include "qemu/qemu-print.h"
diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c
index 4beaf69e76a..d53995c26d1 100644
--- a/target/microblaze/translate.c
+++ b/target/microblaze/translate.c
@@ -26,6 +26,7 @@
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "qemu/qemu-print.h"
#include "exec/log.h"
diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
index ca566847cb4..028ba66631f 100644
--- a/target/openrisc/translate.c
+++ b/target/openrisc/translate.c
@@ -26,6 +26,7 @@
#include "qemu/bitops.h"
#include "qemu/qemu-print.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index 47ca50a064b..8ab87f42d67 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -30,6 +30,7 @@
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#include "qemu/atomic128.h"
#include "spr_common.h"
diff --git a/target/riscv/translate.c b/target/riscv/translate.c
index bccaf8e89a6..5fedde363f7 100644
--- a/target/riscv/translate.c
+++ b/target/riscv/translate.c
@@ -25,6 +25,7 @@
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#include "semihosting/semihost.h"
diff --git a/target/rx/translate.c b/target/rx/translate.c
index 9aade2b6e5c..4f43654bad0 100644
--- a/target/rx/translate.c
+++ b/target/rx/translate.c
@@ -25,6 +25,7 @@
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#define HELPER_H "helper.h"
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index bcfff40b255..e78815c4f7f 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -40,6 +40,7 @@
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#include "qemu/atomic128.h"
diff --git a/target/sh4/translate.c b/target/sh4/translate.c
index 53b092175dc..f076da9bac8 100644
--- a/target/sh4/translate.c
+++ b/target/sh4/translate.c
@@ -23,6 +23,7 @@
#include "tcg/tcg-op.h"
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
+#include "exec/translation-block.h"
#include "exec/translator.h"
#include "exec/log.h"
#include "qemu/qemu-print.h"
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index ac063772310..9be26c804ed 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
@@ -27,6 +27,7 @@
#include "tcg/tcg-op-gvec.h"
#include "exec/helper-gen.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#include "fpu/softfloat.h"
#include "asi.h"
diff --git a/target/tricore/translate.c b/target/tricore/translate.c
index 4a12d2ca191..2b67395c09e 100644
--- a/target/tricore/translate.c
+++ b/target/tricore/translate.c
@@ -30,6 +30,7 @@
#include "tricore-opcodes.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/log.h"
#define HELPER_H "helper.h"
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index f4da4a40f94..3c62c99b4fe 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -37,6 +37,7 @@
#include "qemu/qemu-print.h"
#include "semihosting/semihost.h"
#include "exec/translator.h"
+#include "exec/translation-block.h"
#include "exec/helper-proto.h"
#include "exec/helper-gen.h"
--
2.47.1