All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/31] accel: Move has_work() from SysemuCPUOps to AccelOpsClass
@ 2021-09-20 21:44 Philippe Mathieu-Daudé
  2021-09-20 21:44 ` [PATCH v5 01/31] target/arm: Implement arm_v7m_cpu_has_work() Philippe Mathieu-Daudé
                   ` (30 more replies)
  0 siblings, 31 replies; 44+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-09-20 21:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: Richard Henderson, Philippe Mathieu-Daudé

Missing review:
- 0001-target-arm-Implement-arm_v7m_cpu_has_work.patch
- 0005-sysemu-Introduce-AccelOpsClass-has_work.patch
- 0008-accel-tcg-Implement-AccelOpsClass-has_work-as-stub.patch
- 0010-target-arm-Restrict-has_work-handler-to-sysemu-and-T.patch
- 0012-target-cris-Restrict-has_work-handler-to-sysemu.patch

Hi,

CPU has_work() is a per-accelerator handler. This series
- explicit the KVM / WHPX implementations
- moves TCG implementations in AccelOpsClass
- explicit missing implementations (returning 'false').

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.

$ git backport-diff v3..v4
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/31:[down] 'target/arm: Implement arm_v7m_cpu_has_work()'
002/31:[----] [--] 'accel/tcg: Restrict cpu_handle_halt() to sysemu'
003/31:[----] [--] 'hw/core: Restrict cpu_has_work() to sysemu'
004/31:[----] [--] 'hw/core: Un-inline cpu_has_work()'
005/31:[0006] [FC] 'sysemu: Introduce AccelOpsClass::has_work()'
006/31:[----] [--] 'accel/kvm: Implement AccelOpsClass::has_work()'
007/31:[----] [--] 'accel/whpx: Implement AccelOpsClass::has_work()'
008/31:[0004] [FC] 'accel/tcg: Implement AccelOpsClass::has_work() as stub'
009/31:[----] [--] 'target/alpha: Restrict has_work() handler to sysemu'
010/31:[0002] [FC] 'target/arm: Restrict has_work() handler to sysemu and TCG'
011/31:[----] [--] 'target/avr: Restrict has_work() handler to sysemu'
012/31:[0001] [FC] 'target/cris: Restrict has_work() handler to sysemu'
013/31:[----] [--] 'target/hexagon: Remove unused has_work() handler'
014/31:[----] [--] 'target/hppa: Restrict has_work() handler to sysemu'
015/31:[----] [--] 'target/i386: Restrict has_work() handler to sysemu and TCG'
016/31:[----] [--] 'target/m68k: Restrict has_work() handler to sysemu'
017/31:[----] [--] 'target/microblaze: Restrict has_work() handler to sysemu'
018/31:[----] [--] 'target/mips: Restrict has_work() handler to sysemu and TCG'
019/31:[----] [--] 'target/nios2: Restrict has_work() handler to sysemu'
020/31:[----] [--] 'target/openrisc: Restrict has_work() handler to sysemu'
021/31:[----] [--] 'target/ppc: Introduce PowerPCCPUClass::has_work()'
022/31:[----] [--] 'target/ppc: Restrict has_work() handlers to sysemu and TCG'
023/31:[----] [--] 'target/riscv: Restrict has_work() handler to sysemu and TCG'
024/31:[----] [--] 'target/rx: Restrict has_work() handler to sysemu'
025/31:[----] [--] 'target/s390x: Restrict has_work() handler to sysemu and TCG'
026/31:[----] [--] 'target/sh4: Restrict has_work() handler to sysemu'
027/31:[----] [--] 'target/sparc: Remove pointless use of CONFIG_TCG definition'
028/31:[----] [--] 'target/sparc: Restrict has_work() handler to sysemu'
029/31:[----] [--] 'target/tricore: Restrict has_work() handler to sysemu'
030/31:[----] [--] 'target/xtensa: Restrict has_work() handler to sysemu'
031/31:[0006] [FC] 'accel: Add missing AccelOpsClass::has_work() and drop SysemuCPUOps one'

Philippe Mathieu-Daudé (31):
  target/arm: Implement arm_v7m_cpu_has_work()
  accel/tcg: Restrict cpu_handle_halt() to sysemu
  hw/core: Restrict cpu_has_work() to sysemu
  hw/core: Un-inline cpu_has_work()
  sysemu: Introduce AccelOpsClass::has_work()
  accel/kvm: Implement AccelOpsClass::has_work()
  accel/whpx: Implement AccelOpsClass::has_work()
  accel/tcg: Implement AccelOpsClass::has_work() as stub
  target/alpha: Restrict has_work() handler to sysemu
  target/arm: Restrict has_work() handler to sysemu and TCG
  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: Add missing AccelOpsClass::has_work() and drop SysemuCPUOps one

 include/hw/core/cpu.h             | 28 +++++++++--------------
 include/hw/core/tcg-cpu-ops.h     |  4 ++++
 include/sysemu/accel-ops.h        |  5 +++++
 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         | 10 +++++++++
 accel/xen/xen-all.c               |  6 +++++
 hw/core/cpu-common.c              |  6 -----
 softmmu/cpus.c                    | 10 ++++++---
 target/alpha/cpu.c                |  4 +++-
 target/arm/cpu.c                  |  7 ++++--
 target/arm/cpu_tcg.c              |  6 +++++
 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 ++++++------
 37 files changed, 184 insertions(+), 86 deletions(-)

-- 
2.31.1



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

end of thread, other threads:[~2021-09-24  6:43 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-20 21:44 [PATCH v5 00/31] accel: Move has_work() from SysemuCPUOps to AccelOpsClass Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 01/31] target/arm: Implement arm_v7m_cpu_has_work() Philippe Mathieu-Daudé
2021-09-21  9:34   ` Peter Maydell
2021-09-21  9:45     ` Philippe Mathieu-Daudé
2021-09-23 17:17       ` Philippe Mathieu-Daudé
2021-09-23 18:01         ` Peter Maydell
2021-09-23 18:06           ` Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 02/31] accel/tcg: Restrict cpu_handle_halt() to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 03/31] hw/core: Restrict cpu_has_work() " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 04/31] hw/core: Un-inline cpu_has_work() Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 05/31] sysemu: Introduce AccelOpsClass::has_work() Philippe Mathieu-Daudé
2021-09-20 21:58   ` Richard Henderson
2021-09-23 17:17     ` Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 06/31] accel/kvm: Implement AccelOpsClass::has_work() Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 07/31] accel/whpx: " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 08/31] accel/tcg: Implement AccelOpsClass::has_work() as stub Philippe Mathieu-Daudé
2021-09-20 22:01   ` Richard Henderson
2021-09-23 17:18     ` Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 09/31] target/alpha: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 10/31] target/arm: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-20 22:03   ` Richard Henderson
2021-09-20 21:44 ` [PATCH v5 11/31] target/avr: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 12/31] target/cris: " Philippe Mathieu-Daudé
2021-09-20 21:50   ` Richard Henderson
2021-09-20 21:44 ` [PATCH v5 13/31] target/hexagon: Remove unused has_work() handler Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 14/31] target/hppa: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 15/31] target/i386: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 16/31] target/m68k: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 17/31] target/microblaze: " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 18/31] target/mips: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 19/31] target/nios2: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 20/31] target/openrisc: " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 21/31] target/ppc: Introduce PowerPCCPUClass::has_work() Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 22/31] target/ppc: Restrict has_work() handlers to sysemu and TCG Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 23/31] target/riscv: Restrict has_work() handler " Philippe Mathieu-Daudé
2021-09-24  6:41   ` Alistair Francis
2021-09-20 21:44 ` [PATCH v5 24/31] target/rx: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 25/31] target/s390x: Restrict has_work() handler to sysemu and TCG Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 26/31] target/sh4: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 27/31] target/sparc: Remove pointless use of CONFIG_TCG definition Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 28/31] target/sparc: Restrict has_work() handler to sysemu Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 29/31] target/tricore: " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 30/31] target/xtensa: " Philippe Mathieu-Daudé
2021-09-20 21:44 ` [PATCH v5 31/31] accel: Add missing AccelOpsClass::has_work() and drop SysemuCPUOps one Philippe Mathieu-Daudé

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.