Hi, After all the done enabling pnv-phb4 user devices, it became clear that the stack object is just a container of the PHB and its resources than something that needs to be maintained by its own. Removing the PnvPhb4PecStack object promotes a simpler code where we're dealing only with PECs and PHB4s.
One thing that isn't handled in this series is the nested regs names. There are 30+ nested per-stack registers with names such as 'PEC_NEST_STK*' or 'PEC_PCI_STK*' that are left as is. Renaming them to remove the 'STK' reference can be done in a follow up when we're satisfied with what it is presented here. No functional change is intended with this series. The series is based on top of current master (at f8d75e10d3), Daniel Henrique Barboza (17): ppc/pnv: use PHB4 obj in pnv_pec_stk_pci_xscom_ops ppc/pnv: move PCI registers to PnvPHB4 ppc/pnv: move phbbar to PnvPHB4 ppc/pnv: move intbar to PnvPHB4 ppc/pnv: change pnv_phb4_update_regions() to use PnvPHB4 ppc/pnv: move mmbar0/mmbar1 and friends to PnvPHB4 ppc/pnv: move nest_regs[] to PnvPHB4 ppc/pnv: change pnv_pec_stk_update_map() to use PnvPHB4 ppc/pnv: move nest_regs_mr to PnvPHB4 ppc/pnv: move phb_regs_mr to PnvPHB4 ppc/pnv: introduce PnvPHB4 'phb_number' property ppc/pnv: introduce PnvPHB4 'pec' property ppc/pnv: remove stack pointer from PnvPHB4 ppc/pnv: move default_phb_realize() to pec_realize() ppc/pnv: convert pec->stacks[] into pec->phbs[] ppc/pnv: remove PnvPhb4PecStack object ppc/pnv: rename pnv_pec_stk_update_map() hw/pci-host/pnv_phb4.c | 271 ++++++++++++++++----------------- hw/pci-host/pnv_phb4_pec.c | 122 ++++----------- include/hw/pci-host/pnv_phb4.h | 84 +++++----- 3 files changed, 200 insertions(+), 277 deletions(-) -- 2.33.1