qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v5 00/31] accel: Move has_work() from SysemuCPUOps to AccelOpsCla


From: Philippe Mathieu-Daudé
Subject: [PATCH v5 00/31] accel: Move has_work() from SysemuCPUOps to AccelOpsClass
Date: Mon, 20 Sep 2021 23:44:16 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]