Finish extracting TCG fields from CPUState: - Extract tcg_cpu_exit() from cpu_exit() - Introduce AccelOpsClass::exit_vcpu_thread() - cpu_exit() calls exit_vcpu_thread=tcg_cpu_exit for TCG - Forward declare TaskState and more uses of get_task_state() - Introduce TCG AccelCPUState - Move TCG specific fields from CPUState to AccelCPUState - Restrict "exec/tlb-common.h" to TCG - Restrict iommu_notifiers, icount to system emulation
Based-on: <20240428214915.10339-1-phi...@linaro.org> Philippe Mathieu-Daudé (24): exec/user: Move 'thunk.h' from 'exec/user' to 'user' coverity: Update user emulation regexp accel/tcg: Move user definition of cpu_interrupt() to user-exec.c accel/tcg: Duplicate cpu_exit() for user / system accel/tcg: Extract tcg_cpu_exit() from cpu_exit() accel: Introduce AccelOpsClass::exit_vcpu_thread() handler accel/tcg: Implement AccelOpsClass::exit_vcpu_thread() handler user: Forward declare TaskState type definition user: Declare get_task_state() once in 'accel/tcg/vcpu-state.h' user: Use get_task_state() helper accel/tcg: Allocate per-vCPU accel state in create_vcpu_thread() accel/tcg: Move TaskState from CPUState to TCG AccelCPUState accel/tcg: Update CPUNegativeOffsetState::can_do_io field documentation accel/tcg: Move plugin fields to CPUNegativeOffsetState accel/tcg: Restrict IcountDecr and CPUTLB to TCG accel/tcg: Move @jmp_env from CPUState to TCG AccelCPUState accel/tcg: Move @mem_io_pc from CPUState to TCG AccelCPUState accel/tcg: Move @cflags_next_tb from CPUState to TCG AccelCPUState accel/tcg: Move @iommu_notifiers from CPUState to TCG AccelCPUState accel/tcg: Move @tb_jmp_cache from CPUState to TCG AccelCPUState accel/tcg: Remove NULL check in tcg_flush_jmp_cache() accel/tcg: Move @tcg_cflags from CPUState to TCG AccelCPUState accel/tcg: Restrict icount to system emulation accel/tcg: Move icount fields from CPUState to TCG AccelCPUState accel/tcg/internal-common.h | 3 ++ accel/tcg/tb-jmp-cache.h | 4 +- accel/tcg/tcg-accel-ops.h | 1 + accel/tcg/vcpu-state.h | 45 +++++++++++++++++++++++ bsd-user/qemu.h | 12 ++---- include/exec/tlb-common.h | 4 ++ include/hw/core/cpu.h | 57 +++++++++++------------------ include/qemu/plugin.h | 2 +- include/qemu/typedefs.h | 2 +- include/sysemu/accel-ops.h | 1 + include/{exec => }/user/thunk.h | 8 +++- linux-user/qemu.h | 10 ++--- linux-user/user-internals.h | 2 +- accel/tcg/cpu-exec-common.c | 2 +- accel/tcg/cpu-exec.c | 51 ++++++++++++++------------ accel/tcg/cputlb.c | 4 +- accel/tcg/icount-common.c | 7 ++-- accel/tcg/plugin-gen.c | 8 ++-- accel/tcg/tb-maint.c | 6 +-- accel/tcg/tcg-accel-ops-icount.c | 14 +++---- accel/tcg/tcg-accel-ops-mttcg.c | 2 + accel/tcg/tcg-accel-ops-rr.c | 2 + accel/tcg/tcg-accel-ops.c | 5 +++ accel/tcg/translate-all.c | 25 +++++-------- accel/tcg/user-exec.c | 14 +++++++ accel/tcg/watchpoint.c | 5 ++- bsd-user/main.c | 2 +- gdbstub/gdbstub.c | 3 +- gdbstub/user-target.c | 4 +- hw/core/cpu-common.c | 13 +------ hw/misc/mips_itu.c | 3 +- linux-user/main.c | 4 +- linux-user/syscall.c | 6 +-- linux-user/thunk.c | 2 +- plugins/core.c | 8 ++-- system/cpus.c | 8 ++++ system/physmem.c | 37 ++++++++++++++----- target/i386/helper.c | 3 +- scripts/coverity-scan/COMPONENTS.md | 2 +- 39 files changed, 235 insertions(+), 156 deletions(-) create mode 100644 accel/tcg/vcpu-state.h rename include/{exec => }/user/thunk.h (97%) -- 2.41.0