Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: 7d7a21ba691d3f52fdcf123adf2b79f7ce88174d https://github.com/qemu/qemu/commit/7d7a21ba691d3f52fdcf123adf2b79f7ce88174d Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths: M include/exec/cpu-defs.h M include/exec/helper-head.h M include/exec/memop.h M include/exec/memory.h M include/exec/tswap.h M include/gdbstub/helpers.h M include/hw/core/cpu.h M include/qemu/osdep.h M include/sysemu/hvf.h M include/sysemu/kvm.h M include/sysemu/nvmm.h M include/sysemu/whpx.h M include/sysemu/xen.h M meson.build M scripts/analyze-inclusions M target/arm/kvm-consts.h Log Message: ----------- exec: Rename NEED_CPU_H -> COMPILING_PER_TARGET 'NEED_CPU_H' guard target-specific code; it is defined by meson altogether with the 'CONFIG_TARGET' definition. Rename NEED_CPU_H as COMPILING_PER_TARGET to clarify its meaning. Mechanical change running: $ sed -i s/NEED_CPU_H/COMPILING_PER_TARGET/g $(git grep -l NEED_CPU_H) then manually add a /* COMPILING_PER_TARGET */ comment after the '#endif' when the block is large. Inspired-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240322161439.6448-4-phi...@linaro.org> Commit: 51579d40f9c719361ec9355bb48386e5d3ce85c1 https://github.com/qemu/qemu/commit/51579d40f9c719361ec9355bb48386e5d3ce85c1 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/stubs/tcg-stub.c M accel/tcg/cputlb.c M include/exec/exec-all.h Log Message: ----------- exec: Reduce tlb_set_dirty() declaration scope tlb_set_dirty() is only used in accel/tcg/cputlb.c, where it is defined. Declare it statically, removing the stub. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Harsh Prateek Bora <hars...@linux.ibm.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-11-phi...@linaro.org> Commit: 8501048b501aec0d2d422aafd713348c235d8b83 https://github.com/qemu/qemu/commit/8501048b501aec0d2d422aafd713348c235d8b83 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu-all.h Log Message: ----------- exec: Include 'cpu.h' before validating CPUArchState placement CPUArchState 'env' field is defined within the ArchCPU structure, so we need to include each target "cpu.h" header which defines it. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Warner Losh <i...@bsdimp.com> Message-Id: <20231211212003.21686-2-phi...@linaro.org> Commit: 75bbe6a4d2bc9c3681ab71021645d655ad045a75 https://github.com/qemu/qemu/commit/75bbe6a4d2bc9c3681ab71021645d655ad045a75 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M meson.build A page-target.c M system/physmem.c M target/meson.build R target/target-common.c Log Message: ----------- exec: Expose 'target_page.h' API to user emulation User-only objects might benefit from the "exec/target_page.h" API, which allows to build some objects once for all targets. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Warner Losh <i...@bsdimp.com> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-3-phi...@linaro.org> Commit: 4597463b3851d9f6ec22542b6645511d7f889f78 https://github.com/qemu/qemu/commit/4597463b3851d9f6ec22542b6645511d7f889f78 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/translator.c M target/hexagon/translate.c M target/microblaze/cpu.c M target/microblaze/translate.c Log Message: ----------- accel: Include missing 'exec/cpu_ldst.h' header Theses files call cpu_ldl_code() which is declared in "exec/cpu_ldst.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-5-phi...@linaro.org> Commit: fe7667343c81bffc5f87e591589c691faa84286a https://github.com/qemu/qemu/commit/fe7667343c81bffc5f87e591589c691faa84286a Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M gdbstub/gdbstub.c Log Message: ----------- gdbstub: Include missing 'hw/core/cpu.h' header Functions such gdb_get_cpu_pid() dereference CPUState so require the structure declaration from "hw/core/cpu.h": static uint32_t gdb_get_cpu_pid(CPUState *cpu) { ... return cpu->cluster_index + 1; } Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Warner Losh <i...@bsdimp.com> Message-Id: <20231211212003.21686-15-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 94326e4f217991102770667f684156bdbef599e6 https://github.com/qemu/qemu/commit/94326e4f217991102770667f684156bdbef599e6 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/gdbstub/helpers.h Log Message: ----------- gdbstub: Simplify #ifdef'ry in helpers.h Slightly simplify by checking NEED_CPU_H definition in header. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240322161439.6448-2-phi...@linaro.org> Commit: 0654c79416f346d967fbc7dad7ca451b49bbd822 https://github.com/qemu/qemu/commit/0654c79416f346d967fbc7dad7ca451b49bbd822 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/gdbstub/helpers.h M target/avr/gdbstub.c M target/tricore/gdbstub.c Log Message: ----------- gdbstub: Avoid including 'cpu.h' in 'gdbstub/helpers.h' We only need the "exec/tswap.h" and "cpu-param.h" headers. Only include "cpu.h" in the target gdbstub.c source files. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-20-phi...@linaro.org> Commit: 3aac8abaca536db275da671db088fef2dd82536d https://github.com/qemu/qemu/commit/3aac8abaca536db275da671db088fef2dd82536d Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/semihosting/uaccess.h Log Message: ----------- semihosting/uaccess: Avoid including 'cpu.h' "semihosting/uaccess.h" only requires the following headers: - "exec/cpu-defs.h" for target_ulong, - "exec/cpu-common.h" for cpu_memory_rw_debug() - "exec/tswap.h" for tswap32() and tswap64(). Include them instead of the huge "cpu.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <42c6471e-8383-45e0-85ee-e20ca32ec...@linaro.org> Commit: 83fb360d6a60b0a77dce3d3643d1a5311a235e58 https://github.com/qemu/qemu/commit/83fb360d6a60b0a77dce3d3643d1a5311a235e58 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M semihosting/guestfd.c Log Message: ----------- semihosting/guestfd: Remove unused 'semihosting/uaccess.h' header Nothing in guestfd.c requires "semihosting/uaccess.h" nor "qemu.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-8-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: e92dd33224603ee5a42e0b13b6e055691325ba47 https://github.com/qemu/qemu/commit/e92dd33224603ee5a42e0b13b6e055691325ba47 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/alpha/cpu-param.h M target/alpha/cpu.h M target/arm/cpu-param.h M target/arm/cpu.h M target/avr/cpu-param.h M target/avr/cpu.h M target/hppa/cpu-param.h M target/hppa/cpu.h M target/i386/cpu-param.h M target/i386/cpu.h M target/loongarch/cpu-param.h M target/loongarch/cpu.h M target/microblaze/cpu-param.h M target/microblaze/cpu.h M target/mips/cpu-param.h M target/mips/cpu.h M target/openrisc/cpu-param.h M target/openrisc/cpu.h M target/ppc/cpu-param.h M target/ppc/cpu.h M target/riscv/cpu-param.h M target/riscv/cpu.h M target/s390x/cpu-param.h M target/s390x/cpu.h M target/sparc/cpu-param.h M target/sparc/cpu.h M target/xtensa/cpu-param.h M target/xtensa/cpu.h Log Message: ----------- target: Define TCG_GUEST_DEFAULT_MO in 'cpu-param.h' accel/tcg/ files requires the following definitions: - TARGET_LONG_BITS - TARGET_PAGE_BITS - TARGET_PHYS_ADDR_SPACE_BITS - TCG_GUEST_DEFAULT_MO The first 3 are defined in "cpu-param.h". The last one in "cpu.h", with a bunch of definitions irrelevant for TCG. By moving the TCG_GUEST_DEFAULT_MO definition to "cpu-param.h", we can simplify various accel/tcg includes. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Acked-by: Nicholas Piggin <npig...@gmail.com> Message-Id: <20231211212003.21686-4-phi...@linaro.org> Commit: eedd109525e12f435cf36a4a43e73bc38005caf3 https://github.com/qemu/qemu/commit/eedd109525e12f435cf36a4a43e73bc38005caf3 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/ppc/excp_helper.c Log Message: ----------- target/ppc/excp_helper: Avoid 'abi_ptr' in system emulation 'abi_ptr' is a user specific type. The system emulation equivalent is 'target_ulong'. Use it in ppc_ldl_code() to emphasis this is not an user emulation function. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Acked-by: Nicholas Piggin <npig...@gmail.com> Reviewed-by: Thomas Huth <th...@redhat.com> Message-Id: <20231211212003.21686-18-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 9b21d29acfc9b516c6785e7ca73bff735ebf3d40 https://github.com/qemu/qemu/commit/9b21d29acfc9b516c6785e7ca73bff735ebf3d40 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/sparc/gdbstub.c Log Message: ----------- target/sparc: Replace abi_ulong by uint32_t for TARGET_ABI32 We have abi_ulong == uint32_t for the 32-bit ABI. Use the generic type to avoid to depend on the "exec/user/abitypes.h" header. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-14-phi...@linaro.org> Commit: 7e17a524698809ea0cd2b848eab5516a480af75a https://github.com/qemu/qemu/commit/7e17a524698809ea0cd2b848eab5516a480af75a Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Include missing 'exec/exec-all.h' header The XRSTOR instruction ends calling tlb_flush(), declared in "exec/exec-all.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-13-phi...@linaro.org> Commit: 3b28c27067dd577a3ea137724c4247c8356915d0 https://github.com/qemu/qemu/commit/3b28c27067dd577a3ea137724c4247c8356915d0 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/cpu-exec.c M accel/tcg/user-exec.c A accel/tcg/user-retaddr.h M include/exec/cpu_ldst.h Log Message: ----------- accel/tcg: Un-inline retaddr helpers to 'user-retaddr.h' set_helper_retaddr() is only used in accel/tcg/user-exec.c. clear_helper_retaddr() is only used in accel/tcg/cpu-exec.c and accel/tcg/user-exec.c. No need to expose their definitions to all user-emulation files including "exec/cpu_ldst.h", move them to a new "user-retaddr.h" header (restricted to accel/tcg/). Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-19-phi...@linaro.org> Commit: 6bba316e2333462aa8e93eda6908c06db3e4727a https://github.com/qemu/qemu/commit/6bba316e2333462aa8e93eda6908c06db3e4727a Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/tcg-accel-ops.c Log Message: ----------- accel/tcg: Include missing 'hw/core/cpu.h' header tcg_cpu_init_cflags() accesses CPUState fields, so requires "hw/core/cpu.h" to get its structure definition. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-12-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 893b4bde885c1f02edbe9d9533919abb0ac50490 https://github.com/qemu/qemu/commit/893b4bde885c1f02edbe9d9533919abb0ac50490 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/tb-jmp-cache.h Log Message: ----------- accel/tcg: Include missing headers in 'tb-jmp-cache.h' Due to missing headers, when including "tb-jmp-cache.h" we might get: accel/tcg/tb-jmp-cache.h:21:21: error: field ‘rcu’ has incomplete type 21 | struct rcu_head rcu; | ^~~ accel/tcg/tb-jmp-cache.h:24:9: error: unknown type name ‘vaddr’ 24 | vaddr pc; | ^~~~~ Add the missing "qemu/rcu.h" and "exec/cpu-common.h" headers. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Acked-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240111162442.43755-1-phi...@linaro.org> Commit: e4751d340a49b117b90a411b179b8c892cf43d85 https://github.com/qemu/qemu/commit/e4751d340a49b117b90a411b179b8c892cf43d85 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/ldst_atomicity.c.inc R host/include/aarch64/host/load-extract-al16-al8.h A host/include/aarch64/host/load-extract-al16-al8.h.inc R host/include/aarch64/host/store-insert-al16.h A host/include/aarch64/host/store-insert-al16.h.inc R host/include/generic/host/load-extract-al16-al8.h A host/include/generic/host/load-extract-al16-al8.h.inc R host/include/generic/host/store-insert-al16.h A host/include/generic/host/store-insert-al16.h.inc R host/include/loongarch64/host/load-extract-al16-al8.h A host/include/loongarch64/host/load-extract-al16-al8.h.inc R host/include/loongarch64/host/store-insert-al16.h A host/include/loongarch64/host/store-insert-al16.h.inc R host/include/x86_64/host/load-extract-al16-al8.h A host/include/x86_64/host/load-extract-al16-al8.h.inc Log Message: ----------- accel/tcg: Rename load-extract/store-insert headers using .h.inc suffix Since commit 139c1837db ("meson: rename included C source files to .c.inc"), QEMU standard procedure for included C files is to use *.c.inc. Besides, since commit 6a0057aa22 ("docs/devel: make a statement about includes") this is documented in the Coding Style: If you do use template header files they should be named with the ``.c.inc`` or ``.h.inc`` suffix to make it clear they are being included for expansion. Therefore rename 'store-insert-al16.h' as 'store-insert-al16.h.inc' and 'load-extract-al16-al8.h' as 'load-extract-al16-al8.h.inc'. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Acked-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240424173333.96148-3-phi...@linaro.org> Commit: 2379866c3bf7c5fd654cef64246af9d8a03f7d49 https://github.com/qemu/qemu/commit/2379866c3bf7c5fd654cef64246af9d8a03f7d49 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/helper-gen.h.inc R include/exec/helper-head.h A include/exec/helper-head.h.inc M include/exec/helper-info.c.inc M include/exec/helper-proto.h.inc Log Message: ----------- accel/tcg: Rename helper-head.h -> helper-head.h.inc Since commit 139c1837db ("meson: rename included C source files to .c.inc"), QEMU standard procedure for included C files is to use *.c.inc. Besides, since commit 6a0057aa22 ("docs/devel: make a statement about includes") this is documented in the Coding Style: If you do use template header files they should be named with the ``.c.inc`` or ``.h.inc`` suffix to make it clear they are being included for expansion. Therefore rename "exec/helper-head.h" as "exec/helper-head.h.inc". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Acked-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240424173333.96148-4-phi...@linaro.org> Commit: 9ad49538c7b7c0672110994d81d687ed42bf3ef4 https://github.com/qemu/qemu/commit/9ad49538c7b7c0672110994d81d687ed42bf3ef4 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/i386/whpx/whpx-all.c Log Message: ----------- accel/whpx: Use accel-specific per-vcpu @dirty field WHPX has a specific use of the CPUState::vcpu_dirty field (CPUState::vcpu_dirty is not used by common code). To make this field accel-specific, add and use a new @dirty variable in the AccelCPUState structure. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240424174506.326-2-phi...@linaro.org> Commit: 79f1926b2dfa25ac47adbdc0748dc5f951b55ac5 https://github.com/qemu/qemu/commit/79f1926b2dfa25ac47adbdc0748dc5f951b55ac5 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M target/i386/nvmm/nvmm-all.c Log Message: ----------- accel/nvmm: Use accel-specific per-vcpu @dirty field NVMM has a specific use of the CPUState::vcpu_dirty field (CPUState::vcpu_dirty is not used by common code). To make this field accel-specific, add and use a new @dirty variable in the AccelCPUState structure. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240424174506.326-3-phi...@linaro.org> Commit: e620363687d468530e00db59ea00f08e6f67eabc https://github.com/qemu/qemu/commit/e620363687d468530e00db59ea00f08e6f67eabc Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/hvf/hvf-accel-ops.c M include/hw/core/cpu.h M include/sysemu/hvf_int.h M target/arm/hvf/hvf.c M target/i386/hvf/hvf.c M target/i386/hvf/x86hvf.c Log Message: ----------- accel/hvf: Use accel-specific per-vcpu @dirty field HVF has a specific use of the CPUState::vcpu_dirty field (CPUState::vcpu_dirty is not used by common code). To make this field accel-specific, add and use a new @dirty variable in the AccelCPUState structure. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240424174506.326-4-phi...@linaro.org> Commit: edfc85875d4926208a86acd8f4f212b664df35ca https://github.com/qemu/qemu/commit/edfc85875d4926208a86acd8f4f212b664df35ca Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu-all.h M include/exec/ram_addr.h Log Message: ----------- exec/cpu-all: Reduce 'qemu/rcu.h' header inclusion "exec/cpu-all.h" doesn't need definitions from "qemu/rcu.h", however "exec/ram_addr.h" does. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-17-phi...@linaro.org> Commit: c8f7bbb773ec815aa49c15abd87ba8b02a14add3 https://github.com/qemu/qemu/commit/c8f7bbb773ec815aa49c15abd87ba8b02a14add3 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu-all.h Log Message: ----------- exec/cpu-all: Remove unused 'qemu/thread.h' header Nothing is required from "qemu/thread.h" in "exec/cpu-all.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-13-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 77166c4568eb7cbd81afeecf4975c607b734f1f0 https://github.com/qemu/qemu/commit/77166c4568eb7cbd81afeecf4975c607b734f1f0 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu-all.h Log Message: ----------- exec/cpu-all: Remove unused tswapls() definitions Last use of tswapls() was removed 2 years ago in commit aee14c77f4 ("linux-user: Rewrite do_getdents, do_getdents64"). Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-15-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 425082612c012843d8b33fa0d35966adf5600c47 https://github.com/qemu/qemu/commit/425082612c012843d8b33fa0d35966adf5600c47 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M cpu-target.c M disas/disas.c M hw/audio/virtio-snd.c M hw/core/cpu-sysemu.c M hw/core/generic-loader.c M hw/display/vga.c M hw/virtio/virtio.c M include/exec/tswap.h M include/hw/core/cpu.h Log Message: ----------- exec: Declare target_words_bigendian() in 'exec/tswap.h' We usually check target endianess before swapping values, so target_words_bigendian() declaration makes sense in "exec/tswap.h" with the target swapping helpers. Remove "hw/core/cpu.h" when it was only included to get the target_words_bigendian() declaration. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-16-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 827238668e7dc44e43e71a3e12b605881fe6887e https://github.com/qemu/qemu/commit/827238668e7dc44e43e71a3e12b605881fe6887e Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M MAINTAINERS M bsd-user/freebsd/target_os_elf.h M bsd-user/freebsd/target_os_stack.h M bsd-user/netbsd/target_os_elf.h M bsd-user/openbsd/target_os_elf.h M bsd-user/signal.c M bsd-user/strace.c M include/exec/cpu-all.h M include/exec/user/abitypes.h A include/user/tswap-target.h M linux-user/elfload.c M linux-user/i386/signal.c M linux-user/ppc/signal.c Log Message: ----------- exec: Move [b]tswapl() declarations to 'exec/user/tswap-target.h' tswapl() and bswaptls() are target-dependent and only used by user emulation. Move their definitions to a new header: "exec/user/tswap-target.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20231212123401.37493-17-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: d25ddb3f543dda8189b19dafd0b9a972c331fade https://github.com/qemu/qemu/commit/d25ddb3f543dda8189b19dafd0b9a972c331fade Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/user/abitypes.h Log Message: ----------- exec/user: Do not include 'cpu.h' in 'abitypes.h' "exec/user/abitypes.h" requires: - "exec/cpu-defs.h" (TARGET_LONG_BITS) - "exec/tswap.h" (tswap32) In order to avoid "cpu.h", pick the minimum required headers. Assert this user-specific header is only included from user emulation. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Thomas Huth <th...@redhat.com> Message-Id: <20231212123401.37493-20-phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Commit: 471558cb6e1dcda005a61f66516684262864fc9f https://github.com/qemu/qemu/commit/471558cb6e1dcda005a61f66516684262864fc9f Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: A include/exec/abi_ptr.h M include/exec/cpu_ldst.h M include/exec/exec-all.h M include/exec/translator.h Log Message: ----------- exec: Declare abi_ptr type in its own 'abi_ptr.h' header The abi_ptr type is declared in "exec/cpu_ldst.h" with all the load/store helpers. Some source files requiring abi_ptr type don't need the load/store helpers. In order to simplify, create a new "exec/abi_ptr.h" header. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231212123401.37493-21-phi...@linaro.org> Commit: 9c1283dd76a4c21e1dd9d6a268f5d7383bbde77f https://github.com/qemu/qemu/commit/9c1283dd76a4c21e1dd9d6a268f5d7383bbde77f Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu_ldst.h M include/exec/exec-all.h A include/exec/mmu-access-type.h M include/hw/core/cpu.h Log Message: ----------- exec: Declare MMUAccessType type in 'mmu-access-type.h' header The MMUAccessType enum is declared in "hw/core/cpu.h". "hw/core/cpu.h" contains declarations related to CPUState and CPUClass. Some source files only require MMUAccessType and don't need to pull in all CPU* declarations. In order to simplify, create a new "exec/mmu-access-type.h" header. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-2-phi...@linaro.org> Commit: 6ce1c9d08554c70da6ca7262b00361d8bdc1705b https://github.com/qemu/qemu/commit/6ce1c9d08554c70da6ca7262b00361d8bdc1705b Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: A include/exec/breakpoint.h M include/hw/core/cpu.h M target/arm/internals.h M target/ppc/internal.h M target/riscv/debug.h Log Message: ----------- exec: Declare CPUBreakpoint/CPUWatchpoint type in 'breakpoint.h' header The CPUBreakpoint and CPUWatchpoint structures are declared in "hw/core/cpu.h", which contains declarations related to CPUState and CPUClass. Some source files only require the BP/WP definitions and don't need to pull in all CPU* API. In order to simplify, create a new "exec/breakpoint.h" header. Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20240418192525.97451-3-phi...@linaro.org> Commit: 43bc8a6f1a5aa69b815548ab79ec2ff38812135e https://github.com/qemu/qemu/commit/43bc8a6f1a5aa69b815548ab79ec2ff38812135e Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cputlb.h Log Message: ----------- exec: Restrict TCG specific declarations of 'cputlb.h' Avoid TCG specific declarations being used from non-TCG accelerators. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-5-phi...@linaro.org> Commit: 1ce871a3e7dd3913752966064c406c08193aa992 https://github.com/qemu/qemu/commit/1ce871a3e7dd3913752966064c406c08193aa992 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu_ldst.h Log Message: ----------- exec: Restrict 'cpu_ldst.h' to TCG accelerator "exec/cpu_ldst.h" is specific to TCG, do not allow its inclusion from other accelerators. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-6-phi...@linaro.org> Commit: d3cbde7402fa44b1be898df0e13257e6fc399974 https://github.com/qemu/qemu/commit/d3cbde7402fa44b1be898df0e13257e6fc399974 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/exec/cpu-all.h R include/exec/user/guest-base.h A include/user/guest-base.h M tcg/tcg.c Log Message: ----------- exec: Rename 'exec/user/guest-base.h' as 'user/guest-base.h' The include/user/ directory contains the user-emulation specific headers. Move guest-base.h there too. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Message-Id: <20240418192525.97451-15-phi...@linaro.org> Commit: 16aa8eaaace3f8eb2d14521705fdccab518388a3 https://github.com/qemu/qemu/commit/16aa8eaaace3f8eb2d14521705fdccab518388a3 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M bsd-user/main.c M include/exec/cpu-all.h M include/exec/cpu_ldst.h M include/user/guest-base.h M linux-user/elfload.c M linux-user/main.c Log Message: ----------- exec: Restrict inclusion of 'user/guest-base.h' Declare 'have_guest_base' in "user/guest-base.h". Very few files require this header, so explicitly include it there instead of "exec/cpu-all.h" which is used in many source files. Assert this user-specific header is only included from user emulation. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20231211212003.21686-23-phi...@linaro.org> Reviewed-by: Anton Johansson <a...@rev.ng> Commit: aacfd8bbaf99444f84b408e6b052651fb8056c41 https://github.com/qemu/qemu/commit/aacfd8bbaf99444f84b408e6b052651fb8056c41 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M accel/tcg/cputlb.c M include/exec/cpu_ldst.h Log Message: ----------- exec: Move CPUTLBEntry helpers to cputlb.c The following CPUTLBEntry helpers are only used in accel/tcg/cputlb.c: - tlb_index() - tlb_entry() - tlb_read_idx() - tlb_addr_write() Move them to this file, allowing to remove the huge "cpu.h" header inclusion from "exec/cpu_ldst.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-13-phi...@linaro.org> Commit: 76d07d321fad2e05f8a86243724f91577c5f94c6 https://github.com/qemu/qemu/commit/76d07d321fad2e05f8a86243724f91577c5f94c6 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/hw/core/tcg-cpu-ops.h Log Message: ----------- hw/core: Avoid including the full 'hw/core/cpu.h' in 'tcg-cpu-ops.h' Only include what is required, avoiding the full CPUState API from the huge "hw/core/cpu.h" header. Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-Id: <20240418192525.97451-4-phi...@linaro.org> Commit: 671558d290ffb93752d3245e7c5604b04b6dcdf2 https://github.com/qemu/qemu/commit/671558d290ffb93752d3245e7c5604b04b6dcdf2 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M include/qemu/plugin.h Log Message: ----------- plugins: Include missing 'qemu/bitmap.h' header Since commit c006147122 ("plugins: create CPUPluginState and migrate plugin_mask") "qemu/plugin.h" uses DECLARE_BITMAP(), which is declared in "qemu/bitmap.h". Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Message-Id: <20240418192525.97451-19-phi...@linaro.org> Commit: fd87be1dada5672f877e03c2ca8504458292c479 https://github.com/qemu/qemu/commit/fd87be1dada5672f877e03c2ca8504458292c479 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-04-26 (Fri, 26 Apr 2024) Changed paths: M MAINTAINERS M accel/hvf/hvf-accel-ops.c M accel/stubs/tcg-stub.c M accel/tcg/cpu-exec.c M accel/tcg/cputlb.c M accel/tcg/ldst_atomicity.c.inc M accel/tcg/tb-jmp-cache.h M accel/tcg/tcg-accel-ops.c M accel/tcg/translator.c M accel/tcg/user-exec.c A accel/tcg/user-retaddr.h M bsd-user/freebsd/target_os_elf.h M bsd-user/freebsd/target_os_stack.h M bsd-user/main.c M bsd-user/netbsd/target_os_elf.h M bsd-user/openbsd/target_os_elf.h M bsd-user/signal.c M bsd-user/strace.c M cpu-target.c M disas/disas.c M gdbstub/gdbstub.c R host/include/aarch64/host/load-extract-al16-al8.h A host/include/aarch64/host/load-extract-al16-al8.h.inc R host/include/aarch64/host/store-insert-al16.h A host/include/aarch64/host/store-insert-al16.h.inc R host/include/generic/host/load-extract-al16-al8.h A host/include/generic/host/load-extract-al16-al8.h.inc R host/include/generic/host/store-insert-al16.h A host/include/generic/host/store-insert-al16.h.inc R host/include/loongarch64/host/load-extract-al16-al8.h A host/include/loongarch64/host/load-extract-al16-al8.h.inc R host/include/loongarch64/host/store-insert-al16.h A host/include/loongarch64/host/store-insert-al16.h.inc R host/include/x86_64/host/load-extract-al16-al8.h A host/include/x86_64/host/load-extract-al16-al8.h.inc M hw/audio/virtio-snd.c M hw/core/cpu-sysemu.c M hw/core/generic-loader.c M hw/display/vga.c M hw/virtio/virtio.c A include/exec/abi_ptr.h A include/exec/breakpoint.h M include/exec/cpu-all.h M include/exec/cpu-defs.h M include/exec/cpu_ldst.h M include/exec/cputlb.h M include/exec/exec-all.h M include/exec/helper-gen.h.inc R include/exec/helper-head.h A include/exec/helper-head.h.inc M include/exec/helper-info.c.inc M include/exec/helper-proto.h.inc M include/exec/memop.h M include/exec/memory.h A include/exec/mmu-access-type.h M include/exec/ram_addr.h M include/exec/translator.h M include/exec/tswap.h M include/exec/user/abitypes.h R include/exec/user/guest-base.h M include/gdbstub/helpers.h M include/hw/core/cpu.h M include/hw/core/tcg-cpu-ops.h M include/qemu/osdep.h M include/qemu/plugin.h M include/semihosting/uaccess.h M include/sysemu/hvf.h M include/sysemu/hvf_int.h M include/sysemu/kvm.h M include/sysemu/nvmm.h M include/sysemu/whpx.h M include/sysemu/xen.h A include/user/guest-base.h A include/user/tswap-target.h M linux-user/elfload.c M linux-user/i386/signal.c M linux-user/main.c M linux-user/ppc/signal.c M meson.build A page-target.c M scripts/analyze-inclusions M semihosting/guestfd.c M system/physmem.c M target/alpha/cpu-param.h M target/alpha/cpu.h M target/arm/cpu-param.h M target/arm/cpu.h M target/arm/hvf/hvf.c M target/arm/internals.h M target/arm/kvm-consts.h M target/avr/cpu-param.h M target/avr/cpu.h M target/avr/gdbstub.c M target/hexagon/translate.c M target/hppa/cpu-param.h M target/hppa/cpu.h M target/i386/cpu-param.h M target/i386/cpu.h M target/i386/hvf/hvf.c M target/i386/hvf/x86hvf.c M target/i386/nvmm/nvmm-all.c M target/i386/tcg/fpu_helper.c M target/i386/whpx/whpx-all.c M target/loongarch/cpu-param.h M target/loongarch/cpu.h M target/meson.build M target/microblaze/cpu-param.h M target/microblaze/cpu.c M target/microblaze/cpu.h M target/microblaze/translate.c M target/mips/cpu-param.h M target/mips/cpu.h M target/openrisc/cpu-param.h M target/openrisc/cpu.h M target/ppc/cpu-param.h M target/ppc/cpu.h M target/ppc/excp_helper.c M target/ppc/internal.h M target/riscv/cpu-param.h M target/riscv/cpu.h M target/riscv/debug.h M target/s390x/cpu-param.h M target/s390x/cpu.h M target/sparc/cpu-param.h M target/sparc/cpu.h M target/sparc/gdbstub.c R target/target-common.c M target/tricore/gdbstub.c M target/xtensa/cpu-param.h M target/xtensa/cpu.h M tcg/tcg.c Log Message: ----------- Merge tag 'accel-20240426' of https://github.com/philmd/qemu into staging Accelerators patches A lot of trivial cleanups and simplifications (moving methods around, adding/removing #include statements). Most notable changes: - Rename NEED_CPU_H -> COMPILING_PER_TARGET - Rename few template headers using the '.h.inc' suffix - Extract some definitions / declarations into their own header: - accel/tcg/user-retaddr.h (helper_retaddr) - include/exec/abi_ptr.h (abi_ptr) - include/exec/breakpoint.h (CPUBreakpoint, CPUWatchpoint) - include/exec/mmu-access-type.h (MMUAccessType) - include/user/tswap-target.h (tswapl, bswaptls) # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmYsAuEACgkQ4+MsLN6t # wN78Rg//V9UoE0U9Lh6Sd2WpcSAYP9D1CBa+iGXhrmel0utER1sQLu022nvcLdHc # XtCgtX3H0yECF8dPX02rVp8IbSlOv3c8N/a6BxD79cRGqgXBYR/dEUqfXqeLJn3l # a58YU3i7sLNQ0l7VnwTiBnI0lw170/xJl2B2mcR1SvWuH3dr5vTeIXNureu36ORo # rc0oqWHbw1Pyyn8ADE2kPyFCOiwPwvcOvAk8dXGfib+mNCwNVV+ZUtAPi711VD8d # 9VW2gu2sXwnWdpROrSugSw+aPVF4UjltL9qJEl5bxoqWFmlET1Zn2NpKvsocUXmh # CMQQS2Tr4LpaaVQJGxx0yUe0B65X5+gCkIhsMOubED7GRyTCjrkOPm6exz3ge6WV # YmIboggFAk3OjAzLs7yZVkWsTK1Y3+3eX0u7AWPUsUu7rCT/Toc6QxDS7eT2hJfq # UDXI355PGbImgiArQa+OsT7v1Le4/iQa+TfN4fdUDpxEdfaxhnijWh+E91CEp+w/ # Mq7db9Z1aMnhFKIKdkPYyfwB74yXQrmYchJ0QojZjbzqNGwkt9VeC7O9RcYjEaHM # hMIexwccxexqGH22wn8vPd6ZVKtiLaG4AXO0v6Dn2YJ7/zb/ntcI6lRZqdBAHKNK # MzkjTRRRR0wAfu8Lk8CaNNEqUP4Po43fbYymo6AZhIR8NqfApL0= # =ifBx # -----END PGP SIGNATURE----- # gpg: Signature made Fri 26 Apr 2024 12:39:13 PM PDT # gpg: using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4...@amsat.org>" [full] * tag 'accel-20240426' of https://github.com/philmd/qemu: (38 commits) plugins: Include missing 'qemu/bitmap.h' header hw/core: Avoid including the full 'hw/core/cpu.h' in 'tcg-cpu-ops.h' exec: Move CPUTLBEntry helpers to cputlb.c exec: Restrict inclusion of 'user/guest-base.h' exec: Rename 'exec/user/guest-base.h' as 'user/guest-base.h' exec: Restrict 'cpu_ldst.h' to TCG accelerator exec: Restrict TCG specific declarations of 'cputlb.h' exec: Declare CPUBreakpoint/CPUWatchpoint type in 'breakpoint.h' header exec: Declare MMUAccessType type in 'mmu-access-type.h' header exec: Declare abi_ptr type in its own 'abi_ptr.h' header exec/user: Do not include 'cpu.h' in 'abitypes.h' exec: Move [b]tswapl() declarations to 'exec/user/tswap-target.h' exec: Declare target_words_bigendian() in 'exec/tswap.h' exec/cpu-all: Remove unused tswapls() definitions exec/cpu-all: Remove unused 'qemu/thread.h' header exec/cpu-all: Reduce 'qemu/rcu.h' header inclusion accel/hvf: Use accel-specific per-vcpu @dirty field accel/nvmm: Use accel-specific per-vcpu @dirty field accel/whpx: Use accel-specific per-vcpu @dirty field accel/tcg: Rename helper-head.h -> helper-head.h.inc ... Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Compare: https://github.com/qemu/qemu/compare/77bcaf5f222f...fd87be1dada5 To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications