[PATCH for-8.0 0/7] virtio, pci, xics: 3-phase reset conversions

Peter Maydell posted 7 patches 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221125115240.3005559-1-peter.maydell@linaro.org
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, "Cédric Le Goater" <clg@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Greg Kurz <groug@kaod.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
hw/display/virtio-vga.h        |  2 +-
include/hw/pci/pcie_port.h     |  2 +-
include/hw/ppc/xics.h          |  2 +-
hw/display/virtio-vga.c        | 15 +++++++++------
hw/intc/xics.c                 | 11 ++++++-----
hw/pci-bridge/cxl_root_port.c  | 14 +++++++++-----
hw/pci-bridge/pcie_root_port.c |  8 +++++---
hw/pci-host/pnv_phb.c          | 18 ++++++++++--------
hw/pci-host/pnv_phb3_msi.c     | 22 +++++++++-------------
hw/virtio/virtio-pci.c         |  8 +++++---
10 files changed, 56 insertions(+), 46 deletions(-)
[PATCH for-8.0 0/7] virtio, pci, xics: 3-phase reset conversions
Posted by Peter Maydell 1 year, 4 months ago
This patchset converts a miscellaneous collection of classes
to 3-phase reset. The common link, as with other series I've
sent out recently, is converting child classes that currently
use device_class_set_parent_reset() so that we can remove
that function. To do this we first need to convert the parent
class, and then the subclass.

The first two patches handle TYPE_VIRTIO_VGA_BASE, and its parent
TYPE_VIRTIO_PCI.

The second two handle the parent TYPE_PCIE_ROOT_PORT and its two
child classes TYPE_CXL_ROOT_PORT and TYPE_PNV_PHB_ROOT_PORT.

The last three deal with TYPE_PHB3_MSI and the parenT TYPE_ICS.

This is all 8.0 material.

thanks
-- PMM

Peter Maydell (7):
  hw/virtio: Convert TYPE_VIRTIO_PCI to 3-phase reset
  hw/display/virtio-vga: Convert TYPE_VIRTIO_VGA_BASE to 3-phase reset
  pci: Convert TYPE_PCIE_ROOT_PORT to 3-phase reset
  pci: Convert child classes of TYPE_PCIE_ROOT_PORT to 3-phase reset
  hw/intc/xics: Reset TYPE_ICS objects with device_cold_reset()
  hw/intc/xics: Convert TYPE_ICS to 3-phase reset
  hw/pci-host/pnv_phb3_msi: Convert TYPE_PHB3_MSI to 3-phase reset

 hw/display/virtio-vga.h        |  2 +-
 include/hw/pci/pcie_port.h     |  2 +-
 include/hw/ppc/xics.h          |  2 +-
 hw/display/virtio-vga.c        | 15 +++++++++------
 hw/intc/xics.c                 | 11 ++++++-----
 hw/pci-bridge/cxl_root_port.c  | 14 +++++++++-----
 hw/pci-bridge/pcie_root_port.c |  8 +++++---
 hw/pci-host/pnv_phb.c          | 18 ++++++++++--------
 hw/pci-host/pnv_phb3_msi.c     | 22 +++++++++-------------
 hw/virtio/virtio-pci.c         |  8 +++++---
 10 files changed, 56 insertions(+), 46 deletions(-)

-- 
2.25.1
Re: [PATCH for-8.0 0/7] virtio, pci, xics: 3-phase reset conversions
Posted by Peter Maydell 1 year, 3 months ago
On Fri, 25 Nov 2022 at 11:52, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> This patchset converts a miscellaneous collection of classes
> to 3-phase reset. The common link, as with other series I've
> sent out recently, is converting child classes that currently
> use device_class_set_parent_reset() so that we can remove
> that function. To do this we first need to convert the parent
> class, and then the subclass.
>
> The first two patches handle TYPE_VIRTIO_VGA_BASE, and its parent
> TYPE_VIRTIO_PCI.
>
> The second two handle the parent TYPE_PCIE_ROOT_PORT and its two
> child classes TYPE_CXL_ROOT_PORT and TYPE_PNV_PHB_ROOT_PORT.
>
> The last three deal with TYPE_PHB3_MSI and the parenT TYPE_ICS.


I plan to pick these up and send them in in a pullreq with
various other reset-related patches of mine.

thanks
-- PMM
Re: [PATCH for-8.0 0/7] virtio, pci, xics: 3-phase reset conversions
Posted by Daniel Henrique Barboza 1 year, 4 months ago

On 11/25/22 08:52, Peter Maydell wrote:
> This patchset converts a miscellaneous collection of classes
> to 3-phase reset. The common link, as with other series I've
> sent out recently, is converting child classes that currently
> use device_class_set_parent_reset() so that we can remove
> that function. To do this we first need to convert the parent
> class, and then the subclass.
> 
> The first two patches handle TYPE_VIRTIO_VGA_BASE, and its parent
> TYPE_VIRTIO_PCI.
> 
> The second two handle the parent TYPE_PCIE_ROOT_PORT and its two
> child classes TYPE_CXL_ROOT_PORT and TYPE_PNV_PHB_ROOT_PORT.
> 
> The last three deal with TYPE_PHB3_MSI and the parenT TYPE_ICS.
> 
> This is all 8.0 material.

Tested with the powern8 machine model that uses xics. Series:


Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com>

> 
> thanks
> -- PMM
> 
> Peter Maydell (7):
>    hw/virtio: Convert TYPE_VIRTIO_PCI to 3-phase reset
>    hw/display/virtio-vga: Convert TYPE_VIRTIO_VGA_BASE to 3-phase reset
>    pci: Convert TYPE_PCIE_ROOT_PORT to 3-phase reset
>    pci: Convert child classes of TYPE_PCIE_ROOT_PORT to 3-phase reset
>    hw/intc/xics: Reset TYPE_ICS objects with device_cold_reset()
>    hw/intc/xics: Convert TYPE_ICS to 3-phase reset
>    hw/pci-host/pnv_phb3_msi: Convert TYPE_PHB3_MSI to 3-phase reset
> 
>   hw/display/virtio-vga.h        |  2 +-
>   include/hw/pci/pcie_port.h     |  2 +-
>   include/hw/ppc/xics.h          |  2 +-
>   hw/display/virtio-vga.c        | 15 +++++++++------
>   hw/intc/xics.c                 | 11 ++++++-----
>   hw/pci-bridge/cxl_root_port.c  | 14 +++++++++-----
>   hw/pci-bridge/pcie_root_port.c |  8 +++++---
>   hw/pci-host/pnv_phb.c          | 18 ++++++++++--------
>   hw/pci-host/pnv_phb3_msi.c     | 22 +++++++++-------------
>   hw/virtio/virtio-pci.c         |  8 +++++---
>   10 files changed, 56 insertions(+), 46 deletions(-)
>