Hi, This series implements pnv-phb4 user devices for the powernv9 machine. It also includes a couple of pnv-phb3 and pnv-phb3-root-port fixes that were also applied for the pnv4 equivalents.
During the enablement I had to rollback from the previously added support for user creatable pnv-phb4-pec devices. The most important reason is user experience. PEC devices that doesn't spawn the PHB devices will be just a placeholder to add PHBs, having no use of their own as far as the user sees it. From this standpoint it makes more sense to just create all PECs and attach the PHBs the user wants on them. Patch 14 also describes technical reasons to rollback this support. The series is rebased using Cedric's 'powernv-6.2' branch [1]i, which includes the '[PATCH 0/5] ppc/pnv: Preliminary cleanups before user created PHBs' patches [2]. [1] https://github.com/legoater/qemu/tree/powernv-6.2 [2] https://lists.gnu.org/archive/html/qemu-devel/2021-12/msg03810.html Daniel Henrique Barboza (17): pnv_phb3.c: add unique chassis and slot for pnv_phb3_root_port pnv_phb3.c: do not set 'root-bus' as bus name pnv_phb3.h: change TYPE_PNV_PHB3_ROOT_BUS name pnv_phb4.c: add unique chassis and slot for pnv_phb4_root_port pnv.c: simplify pnv_phb_attach_root_port() pnv_phb4.c: attach default root port in phb4 realize() pnv_phb4.c: check if root port exists in rc_config functions pnv_phb4.c: introduce pnv_phb4_set_stack_phb_props() pnv_phb4_pec.c: move pnv_pec_phb_offset() to pnv_phb4.c pnv_phb4.c: introduce pnv_pec_init_stack_xscom() pnv_phb4_pec.c: use pnv_pec_get_phb_id() in pnv_pec_dt_xscom() pnv_phb4_pec.c: use 'default_enabled()' to init stack->phb pnv_phb4.h: turn phb into a pointer in struct PnvPhb4PecStack Revert "ppc/pnv: Introduce support for user created PHB4 devices" ppc/pnv: Introduce user creatable pnv-phb4 devices pnv_phb4.c: do not set 'root-bus' as bus name pnv_phb4.c: change TYPE_PNV_PHB4_ROOT_BUS name hw/pci-host/pnv_phb3.c | 19 +++- hw/pci-host/pnv_phb4.c | 188 +++++++++++++++++++++++++++++++-- hw/pci-host/pnv_phb4_pec.c | 107 ++++++------------- hw/ppc/pnv.c | 31 ++---- include/hw/pci-host/pnv_phb3.h | 2 +- include/hw/pci-host/pnv_phb4.h | 13 ++- include/hw/ppc/pnv.h | 1 + 7 files changed, 252 insertions(+), 109 deletions(-) -- 2.33.1