Commit 68df8c8dba for qemu.org

commit 68df8c8dba57f539d24f1a92a8699a179d9bb6fb
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Wed Nov 13 22:46:13 2024 +0100

    accel/tcg: Include missing 'exec/translation-block.h' header

    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>

diff --git a/accel/tcg/internal-target.h b/accel/tcg/internal-target.h
index 3ed81e740d..a664be02cc 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 a0c61f25cd..a5382f460d 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/cpu-target.c b/cpu-target.c
index 7a2efa890c..beec773790 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 effd3ab47e..a2c152e5ad 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 24ea64e2de..4110cfaa23 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 1459dd15eb..c76503aea8 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 70f67e6fd4..9fa506bff9 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 660788d5c3..629ff3cde9 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 449e69a6e3..5b595f951b 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/arm/tcg/translate.h b/target/arm/tcg/translate.h
index 9b9abf1992..2d37d7c9f2 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/target/avr/translate.c b/target/avr/translate.c
index 2d51892115..f13b997f8d 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 51c1762435..d13f80fe3e 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 cca19cd40e..231ecac37d 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 ea7995106f..57e8387393 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 ad3ce34501..077151c62d 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 4beaf69e76..d53995c26d 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 ca566847cb..028ba66631 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 47ca50a064..8ab87f42d6 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 bccaf8e89a..5fedde363f 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 9aade2b6e5..4f43654bad 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 bcfff40b25..e78815c4f7 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 53b092175d..f076da9bac 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 ac06377231..9be26c804e 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 4a12d2ca19..2b67395c09 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 f4da4a40f9..3c62c99b4f 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"