qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/24] exec: Rework around CPUState user fields (part 2)
@ 2024-04-28 22:14 Philippe Mathieu-Daudé
  2024-04-28 22:14 ` [PATCH 01/24] exec/user: Move 'thunk.h' from 'exec/user' to 'user' Philippe Mathieu-Daudé
                   ` (25 more replies)
  0 siblings, 26 replies; 53+ messages in thread
From: Philippe Mathieu-Daudé @ 2024-04-28 22:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Anton Johansson, Richard Henderson,
	Philippe =?unknown-8bit?q?Mathieu-Daud=C3=A9?=

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



^ permalink raw reply	[flat|nested] 53+ messages in thread

end of thread, other threads:[~2024-04-29 21:09 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-28 22:14 [PATCH 00/24] exec: Rework around CPUState user fields (part 2) Philippe Mathieu-Daudé
2024-04-28 22:14 ` [PATCH 01/24] exec/user: Move 'thunk.h' from 'exec/user' to 'user' Philippe Mathieu-Daudé
2024-04-29  0:49   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 02/24] coverity: Update user emulation regexp Philippe Mathieu-Daudé
2024-04-29  0:52   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 03/24] accel/tcg: Move user definition of cpu_interrupt() to user-exec.c Philippe Mathieu-Daudé
2024-04-29  0:54   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 04/24] accel/tcg: Duplicate cpu_exit() for user / system Philippe Mathieu-Daudé
2024-04-29  0:58   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 05/24] accel/tcg: Extract tcg_cpu_exit() from cpu_exit() Philippe Mathieu-Daudé
2024-04-29  1:02   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 06/24] accel: Introduce AccelOpsClass::exit_vcpu_thread() handler Philippe Mathieu-Daudé
2024-04-29  1:05   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 07/24] accel/tcg: Implement " Philippe Mathieu-Daudé
2024-04-29  1:09   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 08/24] user: Forward declare TaskState type definition Philippe Mathieu-Daudé
2024-04-29  1:13   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 09/24] user: Declare get_task_state() once in 'accel/tcg/vcpu-state.h' Philippe Mathieu-Daudé
2024-04-29  1:19   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 10/24] user: Use get_task_state() helper Philippe Mathieu-Daudé
2024-04-29  1:27   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 11/24] accel/tcg: Allocate per-vCPU accel state in create_vcpu_thread() Philippe Mathieu-Daudé
2024-04-29 14:23   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 12/24] accel/tcg: Move TaskState from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-29 14:31   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 13/24] accel/tcg: Update CPUNegativeOffsetState::can_do_io field documentation Philippe Mathieu-Daudé
2024-04-29 14:33   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 14/24] accel/tcg: Move plugin fields to CPUNegativeOffsetState Philippe Mathieu-Daudé
2024-04-29 14:42   ` Richard Henderson
2024-04-29 20:54     ` Philippe Mathieu-Daudé
2024-04-28 22:14 ` [PATCH 15/24] accel/tcg: Restrict IcountDecr and CPUTLB to TCG Philippe Mathieu-Daudé
2024-04-29 14:03   ` Philippe Mathieu-Daudé
2024-04-29 14:46     ` Richard Henderson
2024-04-29 14:48   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 16/24] accel/tcg: Move @jmp_env from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-29 14:51   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 17/24] accel/tcg: Move @mem_io_pc " Philippe Mathieu-Daudé
2024-04-29 15:02   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 18/24] accel/tcg: Move @cflags_next_tb " Philippe Mathieu-Daudé
2024-04-29 15:22   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 19/24] accel/tcg: Move @iommu_notifiers " Philippe Mathieu-Daudé
2024-04-29 15:25   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 20/24] accel/tcg: Move @tb_jmp_cache " Philippe Mathieu-Daudé
2024-04-29 19:15   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 21/24] accel/tcg: Remove NULL check in tcg_flush_jmp_cache() Philippe Mathieu-Daudé
2024-04-28 22:14 ` [PATCH 22/24] accel/tcg: Move @tcg_cflags from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-29 19:30   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 23/24] accel/tcg: Restrict icount to system emulation Philippe Mathieu-Daudé
2024-04-29 21:07   ` Richard Henderson
2024-04-28 22:14 ` [PATCH 24/24] accel/tcg: Move icount fields from CPUState to TCG AccelCPUState Philippe Mathieu-Daudé
2024-04-29 21:08   ` Richard Henderson
2024-04-28 22:22 ` [PATCH 00/24] exec: Rework around CPUState user fields (part 2) Philippe Mathieu-Daudé
2024-04-29 21:04 ` Philippe Mathieu-Daudé

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).