From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: philmd@linaro.org, anjo@rev.ng
Subject: [PATCH v3 00/39] target agnostic cleanups
Date: Sat, 16 Sep 2023 14:40:44 -0700 [thread overview]
Message-ID: <20230916214123.525796-1-richard.henderson@linaro.org> (raw)
Omnibus cleanups for making more code target agnostic.
r~
Based-on: 20230916171223.521545-1-richard.henderson@linaro.org
("[PULL v2 00/39] tcg patch queue")
Supercedes: 20230914024435.1381329-1-richard.henderson@linaro.org
("[PATCH v2 00/24] Reduce usage of CPUArchState in cputlb.c")
Supercedes: 20230914185718.76241-1-philmd@linaro.org
("[PATCH 00/11] accel/tcg: Make more files target agnostic (& exec/ housekeeping)")
Supercedes: 20230915190009.68404-1-philmd@linaro.org
("[PATCH 0/5] accel: Restrict tcg_exec_[un]realizefn() to TCG")
Anton Johansson (9):
target/arm: Replace TARGET_PAGE_ENTRY_EXTRA
accel/tcg: Modify tlb_*() to use CPUState
accel/tcg: Modify probe_access_internal() to use CPUState
accel/tcg: Modify memory access functions to use CPUState
accel/tcg: Modify atomic_mmu_lookup() to use CPUState
accel/tcg: Use CPUState in atomicity helpers
accel/tcg: Remove env_tlb()
accel/tcg: Unify user and softmmu do_[st|ld]*_mmu()
accel/tcg: move ld/st helpers to ldst_common.c.inc
Philippe Mathieu-Daudé (16):
exec: Make EXCP_FOO definitions target agnostic
exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h'
accel/tcg: Restrict dump_exec_info() declaration
accel: Make accel-blocker.o target agnostic
accel: Rename accel-common.c -> accel-target.c
exec: Rename cpu.c -> cpu-target.c
exec: Rename target specific page-vary.c -> page-vary-target.c
accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h'
accel/tcg: Make monitor.c a target-agnostic unit
accel/tcg: Make icount.o a target agnostic unit
accel/tcg: Make cpu-exec-common.c a target agnostic unit
accel: Rename accel_cpu_realizefn() -> accel_cpu_realize()
accel: Introduce accel_cpu_unrealize() stub
accel: Declare AccelClass::[un]realize_cpu() handlers
accel/tcg: Have tcg_exec_realizefn() return a boolean
accel/tcg: Restrict tcg_exec_[un]realizefn() to TCG
Richard Henderson (14):
accel/tcg: Move CPUTLB definitions from cpu-defs.h
qom: Propagate alignment through type system
target/arm: Remove size and alignment for cpu subclasses
target/*: Add instance_align to all cpu base classes
accel/tcg: Validate placement of CPUNegativeOffsetState
accel/tcg: Move CPUNegativeOffsetState into CPUState
accel/tcg: Remove CPUState.icount_decr_ptr
accel/tcg: Move can_do_io to CPUNegativeOffsetState
accel/tcg: Remove cpu_neg()
tcg: Rename cpu_env to tcg_env
accel/tcg: Replace CPUState.env_ptr with cpu_env()
accel/tcg: Remove cpu_set_cpustate_pointers
accel/tcg: Remove env_neg()
tcg: Remove TCGContext.tlb_fast_offset
MAINTAINERS | 7 +-
meson.build | 6 +-
accel/tcg/atomic_template.h | 20 +-
accel/tcg/internal-common.h | 28 +
accel/tcg/{internal.h => internal-target.h} | 21 +-
include/exec/cpu-all.h | 67 +-
include/exec/cpu-common.h | 39 +
include/exec/cpu-defs.h | 138 --
include/exec/cpu_ldst.h | 8 +-
include/exec/exec-all.h | 32 +-
include/hw/core/cpu.h | 167 ++-
include/qemu/accel.h | 12 +-
include/tcg/tcg.h | 3 +-
target/alpha/cpu.h | 1 -
target/arm/common-semi-target.h | 2 +-
target/arm/cpu-param.h | 12 -
target/arm/cpu.h | 1 -
target/arm/tcg/translate-a32.h | 2 +-
target/arm/tcg/translate-a64.h | 4 +-
target/arm/tcg/translate.h | 16 +-
target/avr/cpu.h | 1 -
target/cris/cpu.h | 1 -
target/hexagon/cpu.h | 2 +-
target/hexagon/gen_tcg.h | 120 +-
target/hexagon/gen_tcg_hvx.h | 20 +-
target/hexagon/macros.h | 8 +-
target/hppa/cpu.h | 1 -
target/i386/cpu.h | 1 -
target/loongarch/cpu.h | 1 -
target/m68k/cpu.h | 1 -
target/microblaze/cpu.h | 6 +-
target/mips/cpu.h | 4 +-
target/mips/tcg/translate.h | 6 +-
target/nios2/cpu.h | 1 -
target/openrisc/cpu.h | 1 -
target/ppc/cpu.h | 1 -
target/riscv/cpu.h | 2 +-
target/rx/cpu.h | 1 -
target/s390x/cpu.h | 1 -
target/sh4/cpu.h | 1 -
target/sparc/cpu.h | 1 -
target/tricore/cpu.h | 1 -
target/xtensa/cpu.h | 3 +-
accel/{accel-common.c => accel-target.c} | 27 +-
accel/dummy-cpus.c | 2 +-
accel/kvm/kvm-accel-ops.c | 2 +-
accel/tcg/cpu-exec-common.c | 5 +-
accel/tcg/cpu-exec.c | 31 +-
accel/tcg/cputlb.c | 787 ++++------
softmmu/icount.c => accel/tcg/icount-common.c | 7 +-
accel/tcg/monitor.c | 2 +-
accel/tcg/plugin-gen.c | 10 +-
accel/tcg/tb-maint.c | 3 +-
accel/tcg/tcg-accel-ops-icount.c | 8 +-
accel/tcg/tcg-accel-ops-mttcg.c | 2 +-
accel/tcg/tcg-accel-ops-rr.c | 4 +-
accel/tcg/tcg-accel-ops.c | 2 +-
accel/tcg/tcg-all.c | 4 +-
accel/tcg/translate-all.c | 15 +-
accel/tcg/translator.c | 22 +-
accel/tcg/user-exec.c | 279 +---
bsd-user/main.c | 2 +-
bsd-user/signal.c | 10 +-
cpus-common.c => cpu-common.c | 0
cpu.c => cpu-target.c | 13 +-
gdbstub/gdbstub.c | 4 +-
gdbstub/user-target.c | 2 +-
hw/core/cpu-common.c | 6 +-
hw/i386/kvm/clock.c | 2 +-
hw/intc/mips_gic.c | 2 +-
hw/intc/riscv_aclint.c | 12 +-
hw/intc/riscv_imsic.c | 2 +-
hw/ppc/e500.c | 4 +-
hw/ppc/spapr.c | 2 +-
linux-user/elfload.c | 4 +-
linux-user/i386/cpu_loop.c | 2 +-
linux-user/main.c | 4 +-
linux-user/signal.c | 15 +-
monitor/hmp-cmds-target.c | 2 +-
page-vary.c => page-vary-target.c | 0
qom/object.c | 14 +
semihosting/arm-compat-semi.c | 6 +-
semihosting/syscalls.c | 28 +-
softmmu/watchpoint.c | 2 +-
target/alpha/cpu.c | 3 +-
target/alpha/translate.c | 146 +-
target/arm/cpu.c | 12 +-
target/arm/cpu64.c | 4 -
target/arm/helper.c | 2 +-
target/arm/ptw.c | 4 +-
target/arm/tcg/mte_helper.c | 2 +-
target/arm/tcg/sve_helper.c | 2 +-
target/arm/tcg/tlb_helper.c | 4 +-
target/arm/tcg/translate-a64.c | 380 ++---
target/arm/tcg/translate-m-nocp.c | 24 +-
target/arm/tcg/translate-mve.c | 52 +-
target/arm/tcg/translate-neon.c | 78 +-
target/arm/tcg/translate-sme.c | 8 +-
target/arm/tcg/translate-sve.c | 172 +--
target/arm/tcg/translate-vfp.c | 56 +-
target/arm/tcg/translate.c | 234 +--
target/avr/cpu.c | 3 +-
target/avr/translate.c | 66 +-
target/cris/cpu.c | 3 +-
target/cris/translate.c | 72 +-
target/hexagon/cpu.c | 4 +-
target/hexagon/genptr.c | 36 +-
target/hexagon/idef-parser/parser-helpers.c | 2 +-
target/hexagon/translate.c | 52 +-
target/hppa/cpu.c | 2 +-
target/hppa/mem_helper.c | 2 +-
target/hppa/translate.c | 148 +-
target/i386/cpu.c | 2 +-
target/i386/kvm/kvm-cpu.c | 2 +-
target/i386/nvmm/nvmm-all.c | 14 +-
target/i386/tcg/sysemu/excp_helper.c | 2 +-
target/i386/tcg/tcg-cpu.c | 2 +-
target/i386/tcg/translate.c | 584 ++++----
target/i386/whpx/whpx-all.c | 26 +-
target/loongarch/cpu.c | 9 +-
target/loongarch/translate.c | 22 +-
target/m68k/cpu.c | 9 +-
target/m68k/translate.c | 306 ++--
target/microblaze/cpu.c | 2 +-
target/microblaze/translate.c | 52 +-
target/mips/cpu.c | 2 +-
target/mips/tcg/lcsr_translate.c | 6 +-
target/mips/tcg/msa_translate.c | 34 +-
target/mips/tcg/mxu_translate.c | 4 +-
target/mips/tcg/sysemu/mips-semi.c | 4 +-
target/mips/tcg/translate.c | 1288 ++++++++---------
target/mips/tcg/vr54xx_translate.c | 2 +-
target/nios2/cpu.c | 5 +-
target/nios2/translate.c | 52 +-
target/openrisc/cpu.c | 7 +-
target/openrisc/translate.c | 86 +-
target/ppc/cpu_init.c | 1 -
target/ppc/excp_helper.c | 10 +-
target/ppc/translate.c | 366 ++---
target/riscv/cpu.c | 8 +-
target/riscv/translate.c | 56 +-
target/rx/cpu.c | 5 +-
target/rx/translate.c | 58 +-
target/s390x/cpu.c | 2 -
target/s390x/tcg/translate.c | 426 +++---
target/sh4/cpu.c | 3 +-
target/sh4/op_helper.c | 2 +-
target/sh4/translate.c | 128 +-
target/sparc/cpu.c | 3 +-
target/sparc/translate.c | 332 ++---
target/tricore/cpu.c | 10 +-
target/tricore/translate.c | 224 +--
target/xtensa/cpu.c | 2 +-
target/xtensa/translate.c | 192 +--
tcg/tcg-op-gvec.c | 300 ++--
tcg/tcg-op-ldst.c | 22 +-
tcg/tcg-op.c | 2 +-
tcg/tcg.c | 19 +-
accel/tcg/ldst_atomicity.c.inc | 88 +-
accel/tcg/ldst_common.c.inc | 225 +++
target/cris/translate_v10.c.inc | 28 +-
target/i386/tcg/decode-new.c.inc | 4 +-
target/i386/tcg/emit.c.inc | 262 ++--
.../loongarch/insn_trans/trans_atomic.c.inc | 4 +-
.../loongarch/insn_trans/trans_branch.c.inc | 2 +-
target/loongarch/insn_trans/trans_extra.c.inc | 10 +-
.../loongarch/insn_trans/trans_farith.c.inc | 6 +-
target/loongarch/insn_trans/trans_fcmp.c.inc | 8 +-
.../loongarch/insn_trans/trans_fmemory.c.inc | 8 +-
target/loongarch/insn_trans/trans_fmov.c.inc | 20 +-
target/loongarch/insn_trans/trans_lsx.c.inc | 44 +-
.../loongarch/insn_trans/trans_memory.c.inc | 8 +-
.../insn_trans/trans_privileged.c.inc | 52 +-
target/mips/tcg/micromips_translate.c.inc | 12 +-
target/mips/tcg/nanomips_translate.c.inc | 200 +--
target/ppc/power8-pmu-regs.c.inc | 8 +-
target/ppc/translate/branch-impl.c.inc | 2 +-
target/ppc/translate/dfp-impl.c.inc | 22 +-
target/ppc/translate/fixedpoint-impl.c.inc | 2 +-
target/ppc/translate/fp-impl.c.inc | 50 +-
.../ppc/translate/processor-ctrl-impl.c.inc | 8 +-
target/ppc/translate/spe-impl.c.inc | 30 +-
target/ppc/translate/storage-ctrl-impl.c.inc | 26 +-
target/ppc/translate/vmx-impl.c.inc | 34 +-
target/ppc/translate/vsx-impl.c.inc | 54 +-
.../riscv/insn_trans/trans_privileged.c.inc | 8 +-
target/riscv/insn_trans/trans_rvbf16.c.inc | 10 +-
target/riscv/insn_trans/trans_rvd.c.inc | 48 +-
target/riscv/insn_trans/trans_rvf.c.inc | 46 +-
target/riscv/insn_trans/trans_rvh.c.inc | 8 +-
target/riscv/insn_trans/trans_rvi.c.inc | 16 +-
target/riscv/insn_trans/trans_rvm.c.inc | 16 +-
target/riscv/insn_trans/trans_rvv.c.inc | 130 +-
target/riscv/insn_trans/trans_rvvk.c.inc | 30 +-
target/riscv/insn_trans/trans_rvzce.c.inc | 2 +-
target/riscv/insn_trans/trans_rvzfa.c.inc | 38 +-
target/riscv/insn_trans/trans_rvzfh.c.inc | 54 +-
target/riscv/insn_trans/trans_rvzicbo.c.inc | 8 +-
target/riscv/insn_trans/trans_svinval.c.inc | 6 +-
target/riscv/insn_trans/trans_xthead.c.inc | 2 +-
target/s390x/tcg/translate_vx.c.inc | 104 +-
tcg/aarch64/tcg-target.c.inc | 2 +-
tcg/arm/tcg-target.c.inc | 2 +-
accel/meson.build | 4 +-
accel/tcg/meson.build | 8 +-
softmmu/meson.build | 4 -
target/hexagon/README | 10 +-
target/hexagon/gen_tcg_funcs.py | 16 +-
208 files changed, 4986 insertions(+), 5190 deletions(-)
create mode 100644 accel/tcg/internal-common.h
rename accel/tcg/{internal.h => internal-target.h} (89%)
rename accel/{accel-common.c => accel-target.c} (87%)
rename softmmu/icount.c => accel/tcg/icount-common.c (99%)
rename cpus-common.c => cpu-common.c (100%)
rename cpu.c => cpu-target.c (97%)
rename page-vary.c => page-vary-target.c (100%)
--
2.34.1
next reply other threads:[~2023-09-16 21:44 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-16 21:40 Richard Henderson [this message]
2023-09-16 21:40 ` [PATCH v3 01/39] target/arm: Replace TARGET_PAGE_ENTRY_EXTRA Richard Henderson
2023-09-16 21:40 ` [PATCH v3 02/39] accel/tcg: Move CPUTLB definitions from cpu-defs.h Richard Henderson
2023-09-16 21:40 ` [PATCH v3 03/39] qom: Propagate alignment through type system Richard Henderson
2023-09-16 21:40 ` [PATCH v3 04/39] target/arm: Remove size and alignment for cpu subclasses Richard Henderson
2023-09-16 21:40 ` [PATCH v3 05/39] target/*: Add instance_align to all cpu base classes Richard Henderson
2023-09-16 21:40 ` [PATCH v3 06/39] accel/tcg: Validate placement of CPUNegativeOffsetState Richard Henderson
2023-09-16 21:40 ` [PATCH v3 07/39] accel/tcg: Move CPUNegativeOffsetState into CPUState Richard Henderson
2023-09-16 21:40 ` [PATCH v3 08/39] accel/tcg: Remove CPUState.icount_decr_ptr Richard Henderson
2023-09-16 21:40 ` [PATCH v3 09/39] accel/tcg: Move can_do_io to CPUNegativeOffsetState Richard Henderson
2023-09-16 21:40 ` [PATCH v3 10/39] accel/tcg: Remove cpu_neg() Richard Henderson
2023-09-16 21:40 ` [PATCH v3 11/39] tcg: Rename cpu_env to tcg_env Richard Henderson
2023-09-16 21:40 ` [PATCH v3 12/39] accel/tcg: Replace CPUState.env_ptr with cpu_env() Richard Henderson
2023-09-16 21:40 ` [PATCH v3 13/39] accel/tcg: Remove cpu_set_cpustate_pointers Richard Henderson
2023-09-16 21:40 ` [PATCH v3 14/39] accel/tcg: Remove env_neg() Richard Henderson
2023-09-19 9:40 ` Philippe Mathieu-Daudé
2023-09-16 21:40 ` [PATCH v3 15/39] tcg: Remove TCGContext.tlb_fast_offset Richard Henderson
2023-09-16 21:41 ` [PATCH v3 16/39] accel/tcg: Modify tlb_*() to use CPUState Richard Henderson
2023-09-19 9:39 ` Philippe Mathieu-Daudé
2023-09-16 21:41 ` [PATCH v3 17/39] accel/tcg: Modify probe_access_internal() " Richard Henderson
2023-09-16 21:41 ` [PATCH v3 18/39] accel/tcg: Modify memory access functions " Richard Henderson
2023-09-16 21:41 ` [PATCH v3 19/39] accel/tcg: Modify atomic_mmu_lookup() " Richard Henderson
2023-09-16 21:41 ` [PATCH v3 20/39] accel/tcg: Use CPUState in atomicity helpers Richard Henderson
2023-09-16 21:41 ` [PATCH v3 21/39] accel/tcg: Remove env_tlb() Richard Henderson
2023-09-19 9:45 ` Philippe Mathieu-Daudé
2023-09-16 21:41 ` [PATCH v3 22/39] accel/tcg: Unify user and softmmu do_[st|ld]*_mmu() Richard Henderson
2023-09-16 21:41 ` [PATCH v3 23/39] accel/tcg: move ld/st helpers to ldst_common.c.inc Richard Henderson
2023-09-16 21:41 ` [PATCH v3 24/39] exec: Make EXCP_FOO definitions target agnostic Richard Henderson
2023-09-16 21:41 ` [PATCH v3 25/39] exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h' Richard Henderson
2023-09-16 21:41 ` [PATCH v3 26/39] accel/tcg: Restrict dump_exec_info() declaration Richard Henderson
2023-09-16 21:41 ` [PATCH v3 27/39] accel: Make accel-blocker.o target agnostic Richard Henderson
2023-09-16 21:41 ` [PATCH v3 28/39] accel: Rename accel-common.c -> accel-target.c Richard Henderson
2023-09-16 21:41 ` [PATCH v3 29/39] exec: Rename cpu.c -> cpu-target.c Richard Henderson
2023-09-16 21:41 ` [PATCH v3 30/39] exec: Rename target specific page-vary.c -> page-vary-target.c Richard Henderson
2023-09-16 21:41 ` [PATCH v3 31/39] accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h' Richard Henderson
2023-09-16 21:41 ` [PATCH v3 32/39] accel/tcg: Make monitor.c a target-agnostic unit Richard Henderson
2023-09-16 21:41 ` [PATCH v3 33/39] accel/tcg: Make icount.o a target agnostic unit Richard Henderson
2023-09-16 21:41 ` [PATCH v3 34/39] accel/tcg: Make cpu-exec-common.c " Richard Henderson
2023-09-16 21:41 ` [PATCH v3 35/39] accel: Rename accel_cpu_realizefn() -> accel_cpu_realize() Richard Henderson
2023-09-16 21:41 ` [PATCH v3 36/39] accel: Introduce accel_cpu_unrealize() stub Richard Henderson
2023-09-18 8:12 ` Philippe Mathieu-Daudé
2023-09-16 21:41 ` [PATCH v3 37/39] accel: Declare AccelClass::[un]realize_cpu() handlers Richard Henderson
2023-09-16 21:41 ` [PATCH v3 38/39] accel/tcg: Have tcg_exec_realizefn() return a boolean Richard Henderson
2023-09-16 21:41 ` [PATCH v3 39/39] accel/tcg: Restrict tcg_exec_[un]realizefn() to TCG 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=20230916214123.525796-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=anjo@rev.ng \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.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).