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é <phi...@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20241114011310.3615-5-phi...@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 fe109724c68..efac18e3c9a 100644 --- a/accel/tcg/internal-target.h +++ b/accel/tcg/internal-target.h @@ -11,6 +11,7 @@ #include "exec/exec-all.h" #include "exec/translate-all.h" +#include "exec/translation-block.h" /* * Access to the various translations structures need to be serialised 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 20cd0e851c4..a533aad7c47 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 5a7c3290814..d04c8486b0e 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -42,6 +42,7 @@ #include "exec/exec-all.h" #include "exec/tb-flush.h" #include "exec/translate-all.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 471a384b222..e6f80dcd11e 100644 --- a/linux-user/elfload.c +++ b/linux-user/elfload.c @@ -9,6 +9,7 @@ #include "qemu.h" #include "user/tswap-target.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 93c0ff60eb4..ac95b06ebfd 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 5d75c941f7a..396739e3468 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 63fe4ba318b..0e976a02d3e 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -19,6 +19,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 5d729e68c98..b5439a558e4 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 cdd0a95c03d..aeb0f826346 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.45.2