From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
qemu-arm@nongnu.org, "Igor Mammedov" <imammedo@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
kvm@vger.kernel.org, qemu-ppc@nongnu.org, qemu-riscv@nongnu.org,
"David Hildenbrand" <david@redhat.com>,
qemu-s390x@nongnu.org, xen-devel@lists.xenproject.org,
"Richard Henderson" <richard.henderson@linaro.org>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH 00/20] accel: Simplify cpu-target.c (omnibus)
Date: Fri, 24 Jan 2025 00:43:54 +0100 [thread overview]
Message-ID: <20250123234415.59850-1-philmd@linaro.org> (raw)
Yet another cleanup series before respining the "extract TCG
fields from CPUState" series. Before that, we try to clarify
a bit the code around CPU creation. Target specific code is
reduced further. Some intermixed User/System is separated,
making maintenance simpler IMHO. Since my local branch is
quite big, I tried to group here all the generic patches.
Regards,
Phil.
Based-on: <20250123215609.30432-1-philmd@linaro.org>
"target/ppc: Move TCG code from excp_helper.c to tcg-excp_helper.c"
Philippe Mathieu-Daudé (20):
qemu/compiler: Absorb 'clang-tsa.h'
user: Extract common MMAP API to 'user/mmap.h'
gdbstub: Check for TCG before calling tb_flush()
cpus: Cache CPUClass early in instance_init() handler
cpus: Keep default fields initialization in cpu_common_initfn()
accel/kvm: Remove unused 'system/cpus.h' header in kvm-cpus.h
accel/tcg: Build tcg_flags helpers as common code
accel/tcg: Restrict tlb_init() / destroy() to TCG
accel/tcg: Restrict 'icount_align_option' global to TCG
accel/tcg: Rename 'hw/core/tcg-cpu-ops.h' -> 'accel/tcg/cpu-ops.h'
accel: Rename 'hw/core/accel-cpu.h' -> 'accel/accel-cpu-target.h'
accel/accel-cpu-target.h: Include missing 'cpu.h' header
accel: Forward-declare AccelOpsClass in 'qemu/typedefs.h'
accel/tcg: Move cpu_memory_rw_debug() user implementation to
user-exec.c
cpus: Fix style in cpu-target.c
cpus: Restrict cpu_common_post_load() code to TCG
cpus: Have cpu_class_init_props() per user / system emulation
cpus: Have cpu_exec_initfn() per user / system emulation
cpus: Register VMState per user / system emulation
cpus: Build cpu_exec_[un]realizefn() methods once
MAINTAINERS | 4 +-
accel/kvm/kvm-cpus.h | 2 -
accel/tcg/internal-common.h | 13 +
bsd-user/qemu.h | 13 +-
.../accel-cpu.h => accel/accel-cpu-target.h} | 7 +-
.../tcg-cpu-ops.h => accel/tcg/cpu-ops.h} | 0
include/block/block_int-common.h | 1 -
include/block/graph-lock.h | 2 -
include/exec/exec-all.h | 16 -
include/exec/page-protection.h | 2 -
include/hw/core/cpu.h | 2 +
include/qemu/clang-tsa.h | 114 -------
include/qemu/compiler.h | 87 +++++
include/qemu/thread.h | 1 -
include/qemu/typedefs.h | 1 +
include/system/accel-ops.h | 1 -
include/system/cpus.h | 4 -
include/user/mmap.h | 32 ++
linux-user/user-mmap.h | 19 +-
accel/accel-system.c | 1 +
accel/accel-target.c | 2 +-
accel/hvf/hvf-accel-ops.c | 1 +
accel/kvm/kvm-accel-ops.c | 1 +
accel/qtest/qtest.c | 1 +
accel/stubs/tcg-stub.c | 4 -
accel/tcg/cpu-exec-common.c | 34 +-
accel/tcg/cpu-exec.c | 37 +--
accel/tcg/cputlb.c | 2 +-
accel/tcg/icount-common.c | 2 +
accel/tcg/monitor.c | 1 -
accel/tcg/tcg-accel-ops.c | 1 +
accel/tcg/translate-all.c | 3 +-
accel/tcg/user-exec-stub.c | 11 +
accel/tcg/user-exec.c | 94 +++++-
accel/tcg/watchpoint.c | 2 +-
accel/xen/xen-all.c | 1 +
block/create.c | 1 -
bsd-user/signal.c | 2 +-
cpu-common.c | 1 -
cpu-target.c | 314 +-----------------
gdbstub/system.c | 6 +-
hw/core/cpu-common.c | 31 ++
hw/core/cpu-system.c | 170 ++++++++++
hw/core/cpu-user.c | 44 +++
hw/mips/jazz.c | 2 +-
linux-user/signal.c | 2 +-
system/cpus.c | 1 +
system/globals.c | 1 -
system/physmem.c | 2 +-
target/alpha/cpu.c | 2 +-
target/arm/cpu.c | 2 +-
target/arm/tcg/cpu-v7m.c | 2 +-
target/arm/tcg/cpu32.c | 2 +-
target/arm/tcg/mte_helper.c | 2 +-
target/arm/tcg/sve_helper.c | 2 +-
target/avr/cpu.c | 2 +-
target/avr/helper.c | 2 +-
target/hexagon/cpu.c | 2 +-
target/hppa/cpu.c | 2 +-
target/i386/hvf/hvf-cpu.c | 2 +-
target/i386/kvm/kvm-cpu.c | 2 +-
target/i386/nvmm/nvmm-accel-ops.c | 1 +
target/i386/tcg/tcg-cpu.c | 4 +-
target/i386/whpx/whpx-accel-ops.c | 1 +
target/loongarch/cpu.c | 2 +-
target/m68k/cpu.c | 2 +-
target/microblaze/cpu.c | 2 +-
target/mips/cpu.c | 2 +-
target/openrisc/cpu.c | 2 +-
target/ppc/cpu_init.c | 2 +-
target/ppc/kvm.c | 2 +-
target/riscv/kvm/kvm-cpu.c | 2 +-
target/riscv/tcg/tcg-cpu.c | 4 +-
target/rx/cpu.c | 2 +-
target/s390x/cpu.c | 2 +-
target/s390x/tcg/mem_helper.c | 2 +-
target/sh4/cpu.c | 2 +-
target/sparc/cpu.c | 2 +-
target/tricore/cpu.c | 2 +-
target/xtensa/cpu.c | 2 +-
tests/unit/test-bdrv-drain.c | 1 -
tests/unit/test-block-iothread.c | 1 -
util/qemu-thread-posix.c | 1 -
hw/core/meson.build | 5 +-
84 files changed, 590 insertions(+), 578 deletions(-)
rename include/{hw/core/accel-cpu.h => accel/accel-cpu-target.h} (92%)
rename include/{hw/core/tcg-cpu-ops.h => accel/tcg/cpu-ops.h} (100%)
delete mode 100644 include/qemu/clang-tsa.h
create mode 100644 include/user/mmap.h
create mode 100644 hw/core/cpu-user.c
--
2.47.1
next reply other threads:[~2025-01-23 23:44 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-23 23:43 Philippe Mathieu-Daudé [this message]
2025-01-23 23:43 ` [PATCH 01/20] qemu/compiler: Absorb 'clang-tsa.h' Philippe Mathieu-Daudé
2025-01-23 23:43 ` [PATCH 02/20] user: Extract common MMAP API to 'user/mmap.h' Philippe Mathieu-Daudé
2025-01-23 23:45 ` Philippe Mathieu-Daudé
2025-01-26 19:55 ` Richard Henderson
2025-01-23 23:43 ` [PATCH 03/20] gdbstub: Check for TCG before calling tb_flush() Philippe Mathieu-Daudé
2025-01-24 12:50 ` Alex Bennée
2025-01-26 19:56 ` Richard Henderson
2025-01-23 23:43 ` [PATCH 04/20] cpus: Cache CPUClass early in instance_init() handler Philippe Mathieu-Daudé
2025-01-23 23:43 ` [PATCH 05/20] cpus: Keep default fields initialization in cpu_common_initfn() Philippe Mathieu-Daudé
2025-01-26 20:00 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 06/20] accel/kvm: Remove unused 'system/cpus.h' header in kvm-cpus.h Philippe Mathieu-Daudé
2025-01-26 20:00 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 07/20] accel/tcg: Build tcg_flags helpers as common code Philippe Mathieu-Daudé
2025-01-26 20:00 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 08/20] accel/tcg: Restrict tlb_init() / destroy() to TCG Philippe Mathieu-Daudé
2025-01-26 20:32 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 09/20] accel/tcg: Restrict 'icount_align_option' global " Philippe Mathieu-Daudé
2025-01-26 20:34 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 10/20] accel/tcg: Rename 'hw/core/tcg-cpu-ops.h' -> 'accel/tcg/cpu-ops.h' Philippe Mathieu-Daudé
2025-01-26 20:36 ` Richard Henderson
2025-01-26 20:38 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 11/20] accel: Rename 'hw/core/accel-cpu.h' -> 'accel/accel-cpu-target.h' Philippe Mathieu-Daudé
2025-01-26 20:39 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 12/20] accel/accel-cpu-target.h: Include missing 'cpu.h' header Philippe Mathieu-Daudé
2025-01-26 20:40 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 13/20] accel: Forward-declare AccelOpsClass in 'qemu/typedefs.h' Philippe Mathieu-Daudé
2025-01-26 20:42 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 14/20] accel/tcg: Move cpu_memory_rw_debug() user implementation to user-exec.c Philippe Mathieu-Daudé
2025-01-26 21:13 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 15/20] cpus: Fix style in cpu-target.c Philippe Mathieu-Daudé
2025-01-26 21:14 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 16/20] cpus: Restrict cpu_common_post_load() code to TCG Philippe Mathieu-Daudé
2025-01-26 21:16 ` Richard Henderson
2025-02-17 17:19 ` Philippe Mathieu-Daudé
2025-02-17 19:28 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 17/20] cpus: Have cpu_class_init_props() per user / system emulation Philippe Mathieu-Daudé
2025-01-26 21:18 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 18/20] cpus: Have cpu_exec_initfn() " Philippe Mathieu-Daudé
2025-01-26 21:21 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 19/20] cpus: Register VMState " Philippe Mathieu-Daudé
2025-01-26 21:35 ` Richard Henderson
2025-01-23 23:44 ` [PATCH 20/20] cpus: Build cpu_exec_[un]realizefn() methods once Philippe Mathieu-Daudé
2025-01-26 21:37 ` Richard Henderson
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=20250123234415.59850-1-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=david@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=xen-devel@lists.xenproject.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