Hi, This version contains changes based on Cedric's v3 feedback. The biggest change was made in patch 4, where a new helper was added to handle the logic where a PHB is added to a chip.
Changes from v3: - patch 4: - added Error **errp parameter to pnv_parent_bus_fixup() and pnv_phb_user_device_init() - added pnv_chip_add_phb() helper - patch 5: - changed pnv_chip_power8_instance_init() to use an 'Object *phb' pointer - patch 6: - added the default PHBs under an "if (defaults_enabled())" case - patch 7: - pnv_phb4_get_pec() was moved to hw/ppc/pnv.c - patch 9: - use g_assert_not_reached() in pnv_phb4_get_pec() - v3 link: https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg01548.html Daniel Henrique Barboza (11): ppc/pnv: add phb-id/chip-id PnvPHB3RootBus properties ppc/pnv: add phb-id/chip-id PnvPHB4RootBus properties ppc/pnv: set root port chassis and slot using Bus properties ppc/pnv: add helpers for pnv-phb user devices ppc/pnv: turn chip8->phbs[] into a PnvPHB* array ppc/pnv: enable user created pnv-phb for powernv8 ppc/pnv: add PHB4 helpers for user created pnv-phb ppc/pnv: enable 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: fix QOM parenting of user creatable root ports hw/pci-host/pnv_phb.c | 120 +++++++++++++++++++++++++++------ hw/pci-host/pnv_phb3.c | 50 ++++++++++++++ hw/pci-host/pnv_phb4.c | 51 ++++++++++++++ hw/pci-host/pnv_phb4_pec.c | 6 +- hw/ppc/pnv.c | 103 +++++++++++++++++++++++++--- include/hw/pci-host/pnv_phb3.h | 9 ++- include/hw/pci-host/pnv_phb4.h | 10 +++ include/hw/ppc/pnv.h | 7 +- 8 files changed, 325 insertions(+), 31 deletions(-) -- 2.36.1