[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
- [PATCH v5 00/31] accel: Move has_work() from SysemuCPUOps to AccelOpsClass,
Philippe Mathieu-Daudé <=
[PATCH v5 02/31] accel/tcg: Restrict cpu_handle_halt() to sysemu, Philippe Mathieu-Daudé, 2021/09/20
[PATCH v5 03/31] hw/core: Restrict cpu_has_work() to sysemu, Philippe Mathieu-Daudé, 2021/09/20
[PATCH v5 04/31] hw/core: Un-inline cpu_has_work(), Philippe Mathieu-Daudé, 2021/09/20
[PATCH v5 05/31] sysemu: Introduce AccelOpsClass::has_work(), Philippe Mathieu-Daudé, 2021/09/20