All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Richard Henderson" <richard.henderson@linaro.org>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [PATCH v8 00/40] accel: Move has_work() from CPUClass to AccelOpsClass
Date: Mon, 27 Sep 2021 00:26:36 +0200	[thread overview]
Message-ID: <20210926222716.1732932-1-f4bug@amsat.org> (raw)

Hi,

CPU has_work() is a per-accelerator handler. This series is organized
in 2 parts:
- Patches 1-15: Move has_work() from CPUClass to AccelOpsClass
- Patches 16-40: Move remainging has_work() to TCGCPUOps

I prefer to send as a single big series to be sure it is merged
at once, since the 2nd part logic (TCGCPUOps) is related to the
end of the first part (we proved remaining CPUClass::has_work
handlers are TCG specific, thus can be moved to TCGCPUOps).

Missing review:
0004-hw-core-Move-cpu_common_has_work-to-cpu_has_work.patch
0005-accel-Introduce-AccelOpsClass-has_work.patch
0008-accel-hvf-Implement-AccelOpsClass-has_work.patch
0009-accel-xen-Implement-AccelOpsClass-has_work.patch
0010-accel-hax-Implement-AccelOpsClass-has_work.patch
0011-accel-nvmm-Implement-AccelOpsClass-has_work.patch
0012-accel-qtest-Implement-AccelOpsClass-has_work.patch
0013-accel-tcg-Implement-AccelOpsClass-has_work.patch
0014-accel-Simplify-cpu_has_work.patch
0015-accel-tcg-Introduce-TCGCPUOps-has_work.patch
0016-target-arm-Explicit-v7M-cores-use-arm_cpu_has_work-a.patch
0017-target-arm-Restrict-has_work-handler-to-sysemu-and-T.patch
0018-target-alpha-Restrict-has_work-handler-to-sysemu.patch
0039-accel-tcg-Remove-CPUClass-has_work.patch
0040-accel-tcg-Simplify-tcg_cpu_has_work.patch

Since v7:
- Do not abort on QTest 🤷

Since v6:
- Added missing target/alpha/ patch
- Updated comment in qemu_s390_flic_has_service()

Since v5:
- Rework ARM v7M case (pm215)
- Reorder patch logic (rth)

Since v4:
- Implement arm_v7m_cpu_has_work() (new patch)
- Assert has_work() handlers are set, don't use default value
- Fix ARM v7M and cris CPUs
- Reset R-b tags on modified patches

Since v3:
- Remove pointless CONFIG_TCG uses (rth)
- Rework PPC patches, still using indirection

Since v2:
- Full rewrite, no more RFC.

Supersedes: <20210920214447.2998623-1-f4bug@amsat.org>

Philippe Mathieu-Daudé (40):
  accel: Simplify qemu_init_vcpu()
  hw/core: Restrict cpu_has_work() to sysemu
  hw/core: Un-inline cpu_has_work()
  hw/core: Move cpu_common_has_work() to cpu_has_work()
  accel: Introduce AccelOpsClass::has_work()
  accel/kvm: Implement AccelOpsClass::has_work()
  accel/whpx: Implement AccelOpsClass::has_work()
  accel/hvf: Implement AccelOpsClass::has_work()
  accel/xen: Implement AccelOpsClass::has_work()
  accel/hax: Implement AccelOpsClass::has_work()
  accel/nvmm: Implement AccelOpsClass::has_work()
  accel/qtest: Implement AccelOpsClass::has_work()
  accel/tcg: Implement AccelOpsClass::has_work()
  accel: Simplify cpu_has_work()
  accel/tcg: Introduce TCGCPUOps::has_work()
  target/arm: Explicit v7M cores use arm_cpu_has_work as
    CPUClass:has_work
  target/arm: Restrict has_work() handler to sysemu and TCG
  target/alpha: Restrict has_work() handler to sysemu
  target/avr: Restrict has_work() handler to sysemu
  target/cris: Restrict has_work() handler to sysemu
  target/hexagon: Remove unused has_work() handler
  target/hppa: Restrict has_work() handler to sysemu
  target/i386: Restrict has_work() handler to sysemu and TCG
  target/m68k: Restrict has_work() handler to sysemu
  target/microblaze: Restrict has_work() handler to sysemu
  target/mips: Restrict has_work() handler to sysemu and TCG
  target/nios2: Restrict has_work() handler to sysemu
  target/openrisc: Restrict has_work() handler to sysemu
  target/ppc: Introduce PowerPCCPUClass::has_work()
  target/ppc: Restrict has_work() handlers to sysemu and TCG
  target/riscv: Restrict has_work() handler to sysemu and TCG
  target/rx: Restrict has_work() handler to sysemu
  target/s390x: Restrict has_work() handler to sysemu and TCG
  target/sh4: Restrict has_work() handler to sysemu
  target/sparc: Remove pointless use of CONFIG_TCG definition
  target/sparc: Restrict has_work() handler to sysemu
  target/tricore: Restrict has_work() handler to sysemu
  target/xtensa: Restrict has_work() handler to sysemu
  accel/tcg: Remove CPUClass::has_work()
  accel/tcg: Simplify tcg_cpu_has_work()

 include/hw/core/cpu.h             | 28 +++++++++--------------
 include/hw/core/tcg-cpu-ops.h     |  4 ++++
 include/sysemu/accel-ops.h        |  5 +++++
 target/arm/internals.h            |  4 ++++
 target/ppc/cpu-qom.h              |  3 +++
 accel/hvf/hvf-accel-ops.c         |  6 +++++
 accel/kvm/kvm-accel-ops.c         |  6 +++++
 accel/qtest/qtest.c               |  6 +++++
 accel/tcg/cpu-exec.c              |  6 +++++
 accel/tcg/tcg-accel-ops.c         |  9 ++++++++
 accel/xen/xen-all.c               |  6 +++++
 hw/core/cpu-common.c              |  6 -----
 hw/intc/s390_flic.c               | 15 ++++++++++---
 softmmu/cpus.c                    | 17 +++++++++-----
 target/alpha/cpu.c                |  4 +++-
 target/arm/cpu.c                  |  9 +++++---
 target/arm/cpu_tcg.c              |  1 +
 target/avr/cpu.c                  |  2 +-
 target/cris/cpu.c                 |  5 ++++-
 target/hexagon/cpu.c              |  6 -----
 target/hppa/cpu.c                 |  4 +++-
 target/i386/cpu.c                 |  6 -----
 target/i386/hax/hax-accel-ops.c   |  6 +++++
 target/i386/nvmm/nvmm-accel-ops.c |  6 +++++
 target/i386/tcg/tcg-cpu.c         |  8 ++++++-
 target/i386/whpx/whpx-accel-ops.c |  6 +++++
 target/m68k/cpu.c                 |  4 +++-
 target/microblaze/cpu.c           |  8 +++----
 target/mips/cpu.c                 |  4 +++-
 target/nios2/cpu.c                |  4 +++-
 target/openrisc/cpu.c             |  4 +++-
 target/ppc/cpu_init.c             | 37 ++++++++++++++++++++++---------
 target/riscv/cpu.c                |  8 +++----
 target/rx/cpu.c                   |  4 +++-
 target/s390x/cpu.c                |  4 +++-
 target/sh4/cpu.c                  |  5 +++--
 target/sparc/cpu.c                |  6 ++---
 target/tricore/cpu.c              |  6 ++++-
 target/xtensa/cpu.c               | 14 ++++++------
 39 files changed, 202 insertions(+), 90 deletions(-)

-- 
2.31.1



             reply	other threads:[~2021-09-26 22:29 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-26 22:26 Philippe Mathieu-Daudé [this message]
2021-09-26 22:26 ` [PATCH v8 01/40] accel: Simplify qemu_init_vcpu() Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 02/40] hw/core: Restrict cpu_has_work() to sysemu Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 03/40] hw/core: Un-inline cpu_has_work() Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 04/40] hw/core: Move cpu_common_has_work() to cpu_has_work() Philippe Mathieu-Daudé
2021-09-26 23:58   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 05/40] accel: Introduce AccelOpsClass::has_work() Philippe Mathieu-Daudé
2021-09-26 23:59   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 06/40] accel/kvm: Implement AccelOpsClass::has_work() Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 07/40] accel/whpx: " Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 08/40] accel/hvf: " Philippe Mathieu-Daudé
2021-09-27  0:00   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 09/40] accel/xen: " Philippe Mathieu-Daudé
2021-09-27  0:01   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 10/40] accel/hax: " Philippe Mathieu-Daudé
2021-09-27  0:01   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 11/40] accel/nvmm: " Philippe Mathieu-Daudé
2021-09-27  0:02   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 12/40] accel/qtest: " Philippe Mathieu-Daudé
2021-09-27  0:02   ` Richard Henderson
2021-09-26 22:26 ` [PATCH v8 13/40] accel/tcg: " Philippe Mathieu-Daudé
2021-09-27  0:12   ` Richard Henderson
2021-09-27  4:38     ` Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 14/40] accel: Simplify cpu_has_work() Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 15/40] accel/tcg: Introduce TCGCPUOps::has_work() Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 16/40] target/arm: Explicit v7M cores use arm_cpu_has_work as CPUClass:has_work Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 17/40] target/arm: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 18/40] target/alpha: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 19/40] target/avr: " Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 20/40] target/cris: " Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 21/40] target/hexagon: Remove unused has_work() handler Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 22/40] target/hppa: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:26 ` [PATCH v8 23/40] target/i386: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 24/40] target/m68k: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 25/40] target/microblaze: " Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 26/40] target/mips: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 27/40] target/nios2: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 28/40] target/openrisc: " Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 29/40] target/ppc: Introduce PowerPCCPUClass::has_work() Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 30/40] target/ppc: Restrict has_work() handlers to sysemu and TCG Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 31/40] target/riscv: Restrict has_work() handler " Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 32/40] target/rx: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 33/40] target/s390x: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 34/40] target/sh4: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 35/40] target/sparc: Remove pointless use of CONFIG_TCG definition Philippe Mathieu-Daudé
2021-09-29  7:06   ` Mark Cave-Ayland
2021-09-26 22:27 ` [PATCH v8 36/40] target/sparc: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-29  7:07   ` Mark Cave-Ayland
2021-09-26 22:27 ` [PATCH v8 37/40] target/tricore: " Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 38/40] target/xtensa: " Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 39/40] accel/tcg: Remove CPUClass::has_work() Philippe Mathieu-Daudé
2021-09-26 22:27 ` [PATCH v8 40/40] accel/tcg: Simplify tcg_cpu_has_work() 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=20210926222716.1732932-1-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.