qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-8.0 0/9] arm: Convert Arm GIC, ITS, SMMU devices to 3-phase reset
@ 2022-11-09 16:14 Peter Maydell
  2022-11-09 16:14 ` [PATCH for-8.0 1/9] hw/arm: Convert TYPE_ARM_SMMU " Peter Maydell
                   ` (8 more replies)
  0 siblings, 9 replies; 30+ messages in thread
From: Peter Maydell @ 2022-11-09 16:14 UTC (permalink / raw)
  To: qemu-arm, qemu-devel

This patchset converts some Arm devices to 3-phase reset.  The
rationale here is that it would be nice to get rid of the
device_class_set_parent_reset() function, which is used by
legacy-reset subclasses which want to chain to their parent's reset
function. There aren't very many of these devices in total, and
if we convert them and their parent classes to 3-phase reset they
can use the 3-phase-reset equivalent function
resettable_class_set_parent_phases().

Eventually this will then let us simplify the transitional
code for handling old-style device reset.

Note that it's necessary to convert the parent class before
the subclass -- the resettable transitional logic will
handle the situation where the subclass is still using
legacy reset and chaining to what it thinks is the parent's
legacy reset function (by doing a 3-phase reset on the parent),
but if the subclass is 3-phase then the parent must be too.

I plan to do the other uses of device_class_set_parent_reset()
too, but since the conversion patchsets don't depend on each
other I'm going to send them out piecemeal so they can be
cc'd to the relevant maintainers, rather than having a
single massive patchset with a billion people on cc.

thanks
-- PMM

Peter Maydell (9):
  hw/arm: Convert TYPE_ARM_SMMU to 3-phase reset
  hw/arm: Convert TYPE_ARM_SMMUV3 to 3-phase reset
  hw/intc: Convert TYPE_ARM_GIC_COMMON to 3-phase reset
  hw/intc: Convert TYPE_ARM_GIC_KVM to 3-phase reset
  hw/intc: Convert TYPE_ARM_GICV3_COMMON to 3-phase reset
  hw/intc: Convert TYPE_KVM_ARM_GICV3 to 3-phase reset
  hw/intc: Convert TYPE_ARM_GICV3_ITS_COMMON to 3-phase reset
  hw/intc: Convert TYPE_ARM_GICV3_ITS to 3-phase reset
  hw/intc: Convert TYPE_KVM_ARM_ITS to 3-phase reset

 include/hw/arm/smmuv3.h        |  2 +-
 hw/arm/smmu-common.c           |  7 ++++---
 hw/arm/smmuv3.c                | 12 ++++++++----
 hw/intc/arm_gic_common.c       |  7 ++++---
 hw/intc/arm_gic_kvm.c          | 14 +++++++++-----
 hw/intc/arm_gicv3_common.c     |  7 ++++---
 hw/intc/arm_gicv3_its.c        | 14 +++++++++-----
 hw/intc/arm_gicv3_its_common.c |  7 ++++---
 hw/intc/arm_gicv3_its_kvm.c    | 14 +++++++++-----
 hw/intc/arm_gicv3_kvm.c        | 14 +++++++++-----
 10 files changed, 61 insertions(+), 37 deletions(-)

-- 
2.25.1



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2022-11-30 10:35 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-09 16:14 [PATCH for-8.0 0/9] arm: Convert Arm GIC, ITS, SMMU devices to 3-phase reset Peter Maydell
2022-11-09 16:14 ` [PATCH for-8.0 1/9] hw/arm: Convert TYPE_ARM_SMMU " Peter Maydell
2022-11-09 22:37   ` Philippe Mathieu-Daudé
2022-11-10  5:40   ` Richard Henderson
2022-11-28 18:20   ` Eric Auger
2022-11-09 16:14 ` [PATCH for-8.0 2/9] hw/arm: Convert TYPE_ARM_SMMUV3 " Peter Maydell
2022-11-10  5:41   ` Richard Henderson
2022-11-28 18:19   ` Eric Auger
2022-11-30 10:28   ` Philippe Mathieu-Daudé
2022-11-09 16:14 ` [PATCH for-8.0 3/9] hw/intc: Convert TYPE_ARM_GIC_COMMON " Peter Maydell
2022-11-09 22:37   ` Philippe Mathieu-Daudé
2022-11-10  5:41   ` Richard Henderson
2022-11-09 16:14 ` [PATCH for-8.0 4/9] hw/intc: Convert TYPE_ARM_GIC_KVM " Peter Maydell
2022-11-10  5:42   ` Richard Henderson
2022-11-30 10:29   ` Philippe Mathieu-Daudé
2022-11-09 16:14 ` [PATCH for-8.0 5/9] hw/intc: Convert TYPE_ARM_GICV3_COMMON " Peter Maydell
2022-11-10  5:42   ` Richard Henderson
2022-11-30 10:30   ` Philippe Mathieu-Daudé
2022-11-09 16:14 ` [PATCH for-8.0 6/9] hw/intc: Convert TYPE_KVM_ARM_GICV3 " Peter Maydell
2022-11-10  5:43   ` Richard Henderson
2022-11-30 10:32   ` Philippe Mathieu-Daudé
2022-11-09 16:14 ` [PATCH for-8.0 7/9] hw/intc: Convert TYPE_ARM_GICV3_ITS_COMMON " Peter Maydell
2022-11-09 22:38   ` Philippe Mathieu-Daudé
2022-11-10  5:43   ` Richard Henderson
2022-11-09 16:14 ` [PATCH for-8.0 8/9] hw/intc: Convert TYPE_ARM_GICV3_ITS " Peter Maydell
2022-11-10  5:44   ` Richard Henderson
2022-11-30 10:33   ` Philippe Mathieu-Daudé
2022-11-09 16:14 ` [PATCH for-8.0 9/9] hw/intc: Convert TYPE_KVM_ARM_ITS " Peter Maydell
2022-11-10  5:44   ` Richard Henderson
2022-11-30 10:34   ` Philippe Mathieu-Daudé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).