[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/24] cpus: Restrict CPU has_work() handlers to system emulat
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 00/24] cpus: Restrict CPU has_work() handlers to system emulation |
Date: |
Sat, 25 Jan 2025 17:05:28 +0100 |
Missing review: 16
(I plan to merge this myself once reviewed)
v1 cover:
On user emulation, threads always have work to do, and
CPUClass::has_work() is never called. Restrict it to system
emulation, allowing to simplify a bit and reduce code built
on user emulation.
Based-on: <20250121114056.53949-1-philmd@linaro.org>
"cpus: Prefer cached CpuClass over CPU_GET_CLASS() macro"
Philippe Mathieu-Daudé (24):
cpus: Restrict cpu_has_work() to system emulation
cpus: Un-inline cpu_has_work()
cpus: Introduce SysemuCPUOps::has_work() handler
target/alpha: Move has_work() from CPUClass to SysemuCPUOps
target/arm: Move has_work() from CPUClass to SysemuCPUOps
target/avr: Move has_work() from CPUClass to SysemuCPUOps
target/hexagon: Remove CPUClass:has_work() handler
target/hppa: Move has_work() from CPUClass to SysemuCPUOps
target/i386: Move has_work() from CPUClass to SysemuCPUOps
target/loongarch: Move has_work() from CPUClass to SysemuCPUOps
target/m68k: Move has_work() from CPUClass to SysemuCPUOps
target/microblaze: Move has_work() from CPUClass to SysemuCPUOps
target/mips: Move has_work() from CPUClass to SysemuCPUOps
target/openrisc: Move has_work() from CPUClass to SysemuCPUOps
target/ppc: Move has_work() from CPUClass to SysemuCPUOps
target/riscv: Move has_work() from CPUClass to SysemuCPUOps
target/rx: Move has_work() from CPUClass to SysemuCPUOps
target/s390x: Restrict I/O handler installers to system emulation
target/s390x: Move has_work() from CPUClass to SysemuCPUOps
target/sh4: Move has_work() from CPUClass to SysemuCPUOps
target/sparc: Move has_work() from CPUClass to SysemuCPUOps
target/tricore: Move has_work() from CPUClass to SysemuCPUOps
target/xtensa: Move has_work() from CPUClass to SysemuCPUOps
cpus: Remove CPUClass::has_work() handler
include/hw/core/cpu.h | 26 ++++++++++----------------
include/hw/core/sysemu-cpu-ops.h | 4 ++++
include/hw/core/tcg-cpu-ops.h | 2 +-
target/i386/cpu.h | 4 ++--
target/mips/internal.h | 4 ++--
target/riscv/internals.h | 4 +++-
target/s390x/s390x-internal.h | 5 +++++
cpu-target.c | 4 ++++
hw/core/cpu-common.c | 6 ------
hw/core/cpu-system.c | 5 +++++
target/alpha/cpu.c | 4 +++-
target/arm/cpu.c | 4 +++-
target/avr/cpu.c | 2 +-
target/hexagon/cpu.c | 6 ------
target/hppa/cpu.c | 4 +++-
target/i386/cpu.c | 8 +++-----
target/loongarch/cpu.c | 8 +++-----
target/m68k/cpu.c | 4 +++-
target/microblaze/cpu.c | 4 +++-
target/mips/cpu.c | 4 +++-
target/openrisc/cpu.c | 4 +++-
target/ppc/cpu_init.c | 4 +++-
target/riscv/cpu.c | 8 +++-----
target/rx/cpu.c | 2 +-
target/s390x/cpu-system.c | 18 ++++++++++++++++++
target/s390x/cpu.c | 18 ------------------
target/s390x/interrupt.c | 8 ++------
target/sh4/cpu.c | 4 ++--
target/sparc/cpu.c | 4 +++-
target/tricore/cpu.c | 2 +-
target/xtensa/cpu.c | 12 +++++-------
31 files changed, 102 insertions(+), 94 deletions(-)
--
2.47.1
- [PATCH v2 00/24] cpus: Restrict CPU has_work() handlers to system emulation,
Philippe Mathieu-Daudé <=
- [PATCH v2 01/24] cpus: Restrict cpu_has_work() to system emulation, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 02/24] cpus: Un-inline cpu_has_work(), Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 03/24] cpus: Introduce SysemuCPUOps::has_work() handler, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 04/24] target/alpha: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 05/24] target/arm: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 06/24] target/avr: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 07/24] target/hexagon: Remove CPUClass:has_work() handler, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 08/24] target/hppa: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 09/24] target/i386: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25
- [PATCH v2 10/24] target/loongarch: Move has_work() from CPUClass to SysemuCPUOps, Philippe Mathieu-Daudé, 2025/01/25