[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/24] exec: Rework around CPUState user fields (part 2)
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 00/24] exec: Rework around CPUState user fields (part 2) |
Date: |
Mon, 29 Apr 2024 00:14:26 +0200 |
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-philmd@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
- [PATCH 00/24] exec: Rework around CPUState user fields (part 2),
Philippe Mathieu-Daudé <=
- [PATCH 01/24] exec/user: Move 'thunk.h' from 'exec/user' to 'user', Philippe Mathieu-Daudé, 2024/04/28
- [PATCH 02/24] coverity: Update user emulation regexp, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH 03/24] accel/tcg: Move user definition of cpu_interrupt() to user-exec.c, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH 04/24] accel/tcg: Duplicate cpu_exit() for user / system, Philippe Mathieu-Daudé, 2024/04/28
- [PATCH 05/24] accel/tcg: Extract tcg_cpu_exit() from cpu_exit(), Philippe Mathieu-Daudé, 2024/04/28