From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Anton Johansson" <anjo@rev.ng>,
"Ilya Leoshkevich" <iii@linux.ibm.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
Philippe =?unknown-8bit?q?Mathieu-Daud=C3=A9?=
<philmd@linaro.org>
Subject: [PATCH v3 00/13] exec: Rework around CPUState user fields (part 2)
Date: Tue, 30 Apr 2024 14:27:54 +0200 [thread overview]
Message-ID: <20240430122808.72025-1-philmd@linaro.org> (raw)
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
[*] 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
next reply other threads:[~2024-04-30 12:29 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-30 12:27 Philippe Mathieu-Daudé [this message]
2024-04-30 12:27 ` [PATCH v3 01/13] accel/tcg: Restrict qemu_plugin_vcpu_exit_hook() to TCG plugins Philippe Mathieu-Daudé
2024-04-30 12:27 ` [PATCH v3 02/13] accel/tcg: Restrict cpu_plugin_mem_cbs_enabled() to TCG Philippe Mathieu-Daudé
2024-04-30 12:27 ` [PATCH v3 03/13] accel/tcg: Move @plugin_mem_cbs from CPUState to CPUNegativeOffsetState Philippe Mathieu-Daudé
2024-04-30 12:27 ` [PATCH v3 04/13] accel/tcg: Move @plugin_state from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-30 12:27 ` [PATCH v3 05/13] accel/tcg: Restrict cpu_loop_exit_requested() to TCG Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 06/13] accel/tcg: Restrict IcountDecr / can_do_io / CPUTLB " Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 07/13] accel/tcg: Move @jmp_env from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 08/13] accel/tcg: Move @cflags_next_tb " Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 09/13] accel/tcg: Move @iommu_notifiers " Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 10/13] accel/tcg: Move @tcg_cflags " Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 11/13] accel/tcg: Restrict icount to system emulation Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 12/13] accel/tcg: Move icount fields from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-30 12:28 ` [PATCH v3 13/13] accel/tcg: Move @tb_jmp_cache " Philippe Mathieu-Daudé
2024-04-30 17:55 ` [PATCH v3 00/13] exec: Rework around CPUState user fields (part 2) Ilya Leoshkevich
2024-04-30 18:45 ` Philippe Mathieu-Daudé
2024-04-30 19:00 ` Philippe Mathieu-Daudé
2024-04-30 21:42 ` Ilya Leoshkevich
2024-05-02 10:27 ` Philippe Mathieu-Daudé
2024-05-02 13:35 ` Philippe Mathieu-Daudé
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240430122808.72025-1-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=anjo@rev.ng \
--cc=iii@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).