From 32cad1ffb81dcecf6f4a8af56d6e5892682839b1 Mon Sep 17 00:00:00 2001 From: Philippe Mathieu-Daudé Date: Tue, 3 Dec 2024 15:20:13 +0100 Subject: include: Rename sysemu/ -> system/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Headers in include/sysemu/ are not only related to system *emulation*, they are also used by virtualization. Rename as system/ which is clearer. Files renamed manually then mechanical change using sed tool. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Tested-by: Lei Yang Message-Id: <20241203172445.28576-1-philmd@linaro.org> --- cpu-target.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cpu-target.c') diff --git a/cpu-target.c b/cpu-target.c index 2ae07a779e..5480cfb721 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -34,8 +34,8 @@ #include "exec/address-spaces.h" #include "exec/memory.h" #endif -#include "sysemu/cpus.h" -#include "sysemu/tcg.h" +#include "system/cpus.h" +#include "system/tcg.h" #include "exec/tswap.h" #include "exec/replay-core.h" #include "exec/cpu-common.h" -- cgit 1.4.1 From 733d05bdc75c10209f72a7f07a602e85d337fd29 Mon Sep 17 00:00:00 2001 From: Philippe Mathieu-Daudé Date: Thu, 12 Dec 2024 16:56:02 +0100 Subject: system: Remove unnecessary 'exec/translate-all.h' include MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At this point "exec/translate-all.h" only declare tb_check_watchpoint(), which isn't used by any of cpu-target.c or system/physmem.c, so remove its inclusion. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20241212185341.2857-8-philmd@linaro.org> --- cpu-target.c | 1 - system/physmem.c | 1 - 2 files changed, 2 deletions(-) (limited to 'cpu-target.c') diff --git a/cpu-target.c b/cpu-target.c index 5480cfb721..e9fc4a5be0 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -41,7 +41,6 @@ #include "exec/cpu-common.h" #include "exec/exec-all.h" #include "exec/tb-flush.h" -#include "exec/translate-all.h" #include "exec/log.h" #include "hw/core/accel-cpu.h" #include "trace/trace-root.h" diff --git a/system/physmem.c b/system/physmem.c index c0e95e6f7c..1459dd15eb 100644 --- a/system/physmem.c +++ b/system/physmem.c @@ -61,7 +61,6 @@ #include "qemu/rcu_queue.h" #include "qemu/main-loop.h" -#include "exec/translate-all.h" #include "system/replay.h" #include "exec/memory-internal.h" -- cgit 1.4.1 From f47dcf519de985501339b83a46eab7db692883b0 Mon Sep 17 00:00:00 2001 From: Philippe Mathieu-Daudé Date: Thu, 12 Dec 2024 18:01:41 +0100 Subject: accel/tcg: Move user-related declarations out of 'exec/cpu-all.h' (4/4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move declarations related to page protection under user emulation from "exec/cpu-all.h" to "user/page-protection.h". Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20241212185341.2857-15-philmd@linaro.org> --- accel/tcg/tb-maint.c | 3 +++ bsd-user/signal.c | 1 + cpu-target.c | 1 + include/exec/cpu-all.h | 6 ------ include/user/page-protection.h | 2 ++ linux-user/arm/cpu_loop.c | 1 + linux-user/signal.c | 1 + target/arm/tcg/helper-a64.c | 3 +++ target/s390x/tcg/mem_helper.c | 4 +++- 9 files changed, 15 insertions(+), 7 deletions(-) (limited to 'cpu-target.c') diff --git a/accel/tcg/tb-maint.c b/accel/tcg/tb-maint.c index 8e272cf790..3f1bebf6ab 100644 --- a/accel/tcg/tb-maint.c +++ b/accel/tcg/tb-maint.c @@ -33,6 +33,9 @@ #include "tb-internal.h" #include "internal-common.h" #include "internal-target.h" +#ifdef CONFIG_USER_ONLY +#include "user/page-protection.h" +#endif /* List iterators for lists of tagged pointers in TranslationBlock. */ diff --git a/bsd-user/signal.c b/bsd-user/signal.c index da49b9bffc..edbcd461bf 100644 --- a/bsd-user/signal.c +++ b/bsd-user/signal.c @@ -22,6 +22,7 @@ #include "qemu/log.h" #include "qemu.h" #include "exec/page-protection.h" +#include "user/page-protection.h" #include "user/tswap-target.h" #include "gdbstub/user.h" #include "signal-common.h" diff --git a/cpu-target.c b/cpu-target.c index e9fc4a5be0..7a2efa890c 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -29,6 +29,7 @@ #include "migration/vmstate.h" #ifdef CONFIG_USER_ONLY #include "qemu.h" +#include "user/page-protection.h" #else #include "hw/core/sysemu-cpu-ops.h" #include "exec/address-spaces.h" diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index 73b11f58ab..f7eea33b10 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -126,12 +126,6 @@ extern const TargetPageBits target_page; #define TARGET_PAGE_ALIGN(addr) ROUND_UP((addr), TARGET_PAGE_SIZE) -#if defined(CONFIG_USER_ONLY) - -int page_get_flags(target_ulong address); - -#endif - CPUArchState *cpu_copy(CPUArchState *env); /* Flags for use in ENV->INTERRUPT_PENDING. diff --git a/include/user/page-protection.h b/include/user/page-protection.h index bdd98a37de..51daa18648 100644 --- a/include/user/page-protection.h +++ b/include/user/page-protection.h @@ -19,6 +19,8 @@ void page_protect(tb_page_addr_t page_addr); int page_unprotect(tb_page_addr_t address, uintptr_t pc); +int page_get_flags(target_ulong address); + /** * page_set_flags: * @start: first byte of range diff --git a/linux-user/arm/cpu_loop.c b/linux-user/arm/cpu_loop.c index ec665862d9..709f718a99 100644 --- a/linux-user/arm/cpu_loop.c +++ b/linux-user/arm/cpu_loop.c @@ -25,6 +25,7 @@ #include "signal-common.h" #include "semihosting/common-semi.h" #include "exec/page-protection.h" +#include "user/page-protection.h" #include "target/arm/syndrome.h" #define get_user_code_u32(x, gaddr, env) \ diff --git a/linux-user/signal.c b/linux-user/signal.c index 9b6d772882..a191e9b26f 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -33,6 +33,7 @@ #include "trace.h" #include "signal-common.h" #include "host-signal.h" +#include "user/page-protection.h" #include "user/safe-syscall.h" #include "tcg/tcg.h" diff --git a/target/arm/tcg/helper-a64.c b/target/arm/tcg/helper-a64.c index 35dce4bef3..b6af2a59d6 100644 --- a/target/arm/tcg/helper-a64.c +++ b/target/arm/tcg/helper-a64.c @@ -34,6 +34,9 @@ #include "qemu/atomic128.h" #include "fpu/softfloat.h" #include /* for crc32 */ +#ifdef CONFIG_USER_ONLY +#include "user/page-protection.h" +#endif /* C2.4.7 Multiply and divide */ /* special cases for 0 and LLONG_MIN are mandated by the standard */ diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c index 0e12dae2aa..307388e5bd 100644 --- a/target/s390x/tcg/mem_helper.c +++ b/target/s390x/tcg/mem_helper.c @@ -31,7 +31,9 @@ #include "qemu/int128.h" #include "qemu/atomic128.h" -#if !defined(CONFIG_USER_ONLY) +#if defined(CONFIG_USER_ONLY) +#include "user/page-protection.h" +#else #include "hw/s390x/storage-keys.h" #include "hw/boards.h" #endif -- cgit 1.4.1 From 68df8c8dba57f539d24f1a92a8699a179d9bb6fb Mon Sep 17 00:00:00 2001 From: Philippe Mathieu-Daudé Date: Wed, 13 Nov 2024 22:46:13 +0100 Subject: accel/tcg: Include missing 'exec/translation-block.h' header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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é Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20241114011310.3615-5-philmd@linaro.org> --- accel/tcg/internal-target.h | 1 + accel/tcg/tb-hash.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/arm/tcg/translate.h | 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(+) (limited to 'cpu-target.c') 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 /* 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" -- cgit 1.4.1