[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 00/16] powernv: introduce pnv-phb base/proxy devices

From: Mark Cave-Ayland
Subject: Re: [PATCH v2 00/16] powernv: introduce pnv-phb base/proxy devices
Date: Thu, 2 Jun 2022 09:42:37 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0

On 31/05/2022 22:49, Daniel Henrique Barboza wrote:


This v2 is considerable different from the first version due to the
review provided by Mark Cave-Ayland.

We're now preserving all PnvPHB3/4/5 implementations already in place.
The PnvPHB device now acts as a base/proxy of the existing PHBs, which
are turned into backends of the base PnvPHB device.

QOM is being more used this time by passing through properties to the
PHB backends from the base device, and by setting the phb->version
via global machine properties in each machine.

The changes made impact both user creatable and default devices, meaning
that now the powernv machines are using the PnvPHB base device in all

The one thing that I didn't change from v1 is the root port revamp. I
didn't find enough reason to do the same thing we did with the PnvPHBs,
given that all that differs them is the reset() callback of
phb4_root_port. This means that patches 14-17 from v1 are still mostly
the same.

Changes from v1:
- lots of changes in patches 1-6 and 7 due to the change of direction
- patch 10 from v1: removed
- PnvPHB.version is now being removed in patch 16
- several other minor changes due to changes in the initial patches
- v1 link: https://lists.gnu.org/archive/html/qemu-devel/2022-05/msg01410.html

Daniel Henrique Barboza (16):
   ppc/pnv: add PHB3 bus init helper
   ppc/pnv: add pnv_get_phb3_child()
   ppc/pnv: add PnvPHB base/proxy device
   ppc/pnv: change PnvPHB3 to be a PnvPHB backend
   ppc/pnv: user created pnv-phb for powernv8
   ppc/pnv: add PHB4 bus init helper
   ppc/pnv: change PnvPHB4 to be a PnvPHB backend
   ppc/pnv: user created pnv-phb for powernv9
   ppc/pnv: change pnv_phb4_get_pec() to also retrieve chip10->pecs
   ppc/pnv: user creatable pnv-phb for powernv10
   ppc/pnv: add pnv-phb-root-port device
   ppc/pnv: remove pnv-phb3-root-port
   ppc/pnv: remove pnv-phb4-root-port
   ppc/pnv: remove 'phb_rootport_typename' in pnv_phb_realize()
   ppc/pnv: remove pecc->rp_model
   ppc/pnv: remove PnvPHB4.version

  hw/pci-host/meson.build        |   3 +-
  hw/pci-host/pnv_phb.c          | 219 ++++++++++++++++++++++++++++++++
  hw/pci-host/pnv_phb.h          |  56 ++++++++
  hw/pci-host/pnv_phb3.c         | 144 ++++++++-------------
  hw/pci-host/pnv_phb4.c         | 226 ++++++++++++++-------------------
  hw/pci-host/pnv_phb4_pec.c     |  14 +-
  hw/ppc/pnv.c                   |  78 ++++++++++--
  include/hw/pci-host/pnv_phb3.h |  12 +-
  include/hw/pci-host/pnv_phb4.h |  18 +--
  include/hw/ppc/pnv.h           |   4 +-
  10 files changed, 512 insertions(+), 262 deletions(-)
  create mode 100644 hw/pci-host/pnv_phb.c
  create mode 100644 hw/pci-host/pnv_phb.h

I've had a quick look over the series, and whilst I'm not overly familiar with the PMV PHB side, this looks much better to me from a QOM/qdev modelling perspective. I've added a few comments but in general I'm fairly happy with the way this is going.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]