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