[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/2] cpu: Clarify overloading of reset QOM methods
From: |
Greg Kurz |
Subject: |
[PATCH v3 0/2] cpu: Clarify overloading of reset QOM methods |
Date: |
Mon, 16 Dec 2019 16:01:06 +0100 |
User-agent: |
StGit/unknown-version |
Each cpu subclass overloads the reset method of its parent class with
its own. But since it needs to call the parent method as well, it keeps
a parent_reset pointer to do so. This causes the same not very explicit
boiler plate to be duplicated all around the place:
pcc->parent_reset = cc->reset;
cc->reset = ppc_cpu_reset;
A similar concern was addressed some time back by Philippe Mathieu-Daudé
in qdev, with the addition of device_class_set_parent_reset() and friends:
https://git.qemu.org/?p=qemu.git;a=commit;h=46795cf2e2f6
https://git.qemu.org/?p=qemu.git;a=commit;h=bf853881690d
Follow the same approach with cpus.
Changes in v3:
- drop 'cpu: Introduce CPUReset callback typedef' patch which isn't needed
and makes the code less clear. This changes the declaration of the helper
in 'cpu: Introduce cpu_class_set_parent_reset()', but it is minor so I
keep the Reviewed-by and Acked-by tags.
Changes in v2:
- added Reviewed-by and Acked-by tags
- rebased on top of https://github.com/cohuck/qemu.git s390-next
SHA1 dd6252f035a2
--
Greg
---
Greg Kurz (2):
cpu: Introduce cpu_class_set_parent_reset()
cpu: Use cpu_class_set_parent_reset()
hw/core/cpu.c | 8 ++++++++
include/hw/core/cpu.h | 4 ++++
target/arm/cpu.c | 3 +--
target/cris/cpu.c | 3 +--
target/i386/cpu.c | 3 +--
target/lm32/cpu.c | 3 +--
target/m68k/cpu.c | 3 +--
target/microblaze/cpu.c | 3 +--
target/mips/cpu.c | 3 +--
target/moxie/cpu.c | 3 +--
target/nios2/cpu.c | 3 +--
target/openrisc/cpu.c | 3 +--
target/ppc/translate_init.inc.c | 3 +--
target/riscv/cpu.c | 3 +--
target/s390x/cpu.c | 3 +--
target/sh4/cpu.c | 3 +--
target/sparc/cpu.c | 3 +--
target/tilegx/cpu.c | 3 +--
target/tricore/cpu.c | 3 +--
target/xtensa/cpu.c | 3 +--
20 files changed, 30 insertions(+), 36 deletions(-)
- [PATCH v3 0/2] cpu: Clarify overloading of reset QOM methods,
Greg Kurz <=