[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/13] exec: Rework around CPUState user fields (part 2)
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v3 00/13] exec: Rework around CPUState user fields (part 2) |
Date: |
Tue, 30 Apr 2024 14:27:54 +0200 |
Missing WASM testing by Ilya (branch available at
https://gitlab.com/philmd/qemu/-/commits/tcg_flush_jmp_cache)
Since v2:
- Move cpu_loop_exit_requested() to "exec/cpu-loop.h"
- Added R-b tags
Since v1:
- First 13 patches queued
- Restrict qemu_plugin_vcpu_exit_hook() to (TCG) plugins
- Restrict cpu_plugin_mem_cbs_enabled() to TCG (plugins)
- Addressed Richard review comments on the others:
- Move cpu_plugin_mem_cbs_enabled()
- Do not move mem_io_pc, waiting for [*]
- Mention can_do_io restricted
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
[*]
20240416040609.1313605-3-richard.henderson@linaro.org/">https://lore.kernel.org/qemu-devel/20240416040609.1313605-3-richard.henderson@linaro.org/
Based-on: https://gitlab.com/philmd/qemu/-/commits/accel-next
Philippe Mathieu-Daudé (13):
accel/tcg: Restrict qemu_plugin_vcpu_exit_hook() to TCG plugins
accel/tcg: Restrict cpu_plugin_mem_cbs_enabled() to TCG
accel/tcg: Move @plugin_mem_cbs from CPUState to
CPUNegativeOffsetState
accel/tcg: Move @plugin_state from CPUState to TCG AccelCPUState
accel/tcg: Restrict cpu_loop_exit_requested() to TCG
accel/tcg: Restrict IcountDecr / can_do_io / CPUTLB to TCG
accel/tcg: Move @jmp_env 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 @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: Move @tb_jmp_cache from CPUState to TCG AccelCPUState
accel/tcg/internal-common.h | 18 ++++++++++
accel/tcg/tb-jmp-cache.h | 4 +--
accel/tcg/tcg-accel-ops.h | 1 +
accel/tcg/vcpu-state.h | 20 +++++++++++
include/exec/cpu-loop.h | 35 +++++++++++++++++++
include/exec/exec-all.h | 17 ----------
include/exec/tlb-common.h | 4 +++
include/hw/core/cpu.h | 58 ++++++++------------------------
include/qemu/plugin.h | 2 +-
include/qemu/typedefs.h | 1 -
accel/tcg/cpu-exec-common.c | 2 +-
accel/tcg/cpu-exec.c | 52 +++++++++++++++-------------
accel/tcg/cputlb.c | 2 +-
accel/tcg/icount-common.c | 7 ++--
accel/tcg/plugin-gen.c | 9 +++--
accel/tcg/tb-maint.c | 6 ++--
accel/tcg/tcg-accel-ops-icount.c | 14 ++++----
accel/tcg/tcg-accel-ops.c | 2 ++
accel/tcg/translate-all.c | 9 ++---
accel/tcg/watchpoint.c | 5 +--
hw/core/cpu-common.c | 9 +++--
linux-user/main.c | 2 +-
plugins/core.c | 9 ++---
system/physmem.c | 37 +++++++++++++++-----
target/arm/tcg/helper-a64.c | 1 +
target/s390x/tcg/mem_helper.c | 1 +
26 files changed, 195 insertions(+), 132 deletions(-)
create mode 100644 include/exec/cpu-loop.h
--
2.41.0
- [PATCH v3 00/13] exec: Rework around CPUState user fields (part 2),
Philippe Mathieu-Daudé <=
- [PATCH v3 01/13] accel/tcg: Restrict qemu_plugin_vcpu_exit_hook() to TCG plugins, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 02/13] accel/tcg: Restrict cpu_plugin_mem_cbs_enabled() to TCG, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 03/13] accel/tcg: Move @plugin_mem_cbs from CPUState to CPUNegativeOffsetState, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 04/13] accel/tcg: Move @plugin_state from CPUState to TCG AccelCPUState, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 05/13] accel/tcg: Restrict cpu_loop_exit_requested() to TCG, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 06/13] accel/tcg: Restrict IcountDecr / can_do_io / CPUTLB to TCG, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 07/13] accel/tcg: Move @jmp_env from CPUState to TCG AccelCPUState, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 08/13] accel/tcg: Move @cflags_next_tb from CPUState to TCG AccelCPUState, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 09/13] accel/tcg: Move @iommu_notifiers from CPUState to TCG AccelCPUState, Philippe Mathieu-Daudé, 2024/04/30
- [PATCH v3 10/13] accel/tcg: Move @tcg_cflags from CPUState to TCG AccelCPUState, Philippe Mathieu-Daudé, 2024/04/30