This second version contains changes and fixes suggested by Frederic and Cedric in the v1 review.
As I've mentioned in the v1, I cropped patches that are more related with the user created device logic. Patches 8-11 will be resend later in another series. I ended up sliding in a couple of new patches (8 and 9) to fix an issue I found while spinning this new version. No functional changes, aside from the QOM change in patch 2, were made intentionally. changes from v2: - patch 3: * removed 'if (dev)' check in pnv_phb3_root_port_realize() - patch 5: * opencoded pnv_ics_get_phb_ics() into pnv_ics_get() * removed pnv_ics_get_phb_ics() * removed ForeachPhb3Args struct - patch 6: * restore the 'ics_resend()' call back in pnv_ics_resend() - patch 8 (new): * remove INTERFACE_PCIE_DEVICE from pnv-phb3-root-bus - patch 9 (new): * remove INTERFACE_PCIE_DEVICE from pnv-phb4-root-bus - v1 link: https://lists.gnu.org/archive/html/qemu-devel/2022-06/msg02333.html Daniel Henrique Barboza (9): ppc/pnv: move root port attach to pnv_phb4_realize() ppc/pnv: attach phb3/phb4 root ports in QOM tree ppc/pnv: use dev->parent_bus->parent to get the PHB ppc/pnv: use dev instead of pci->qdev in root_port_realize() ppc/pnv: make pnv_ics_get() use the chip8->phbs[] array ppc/pnv: make pnv_ics_resend() use chip8->phbs[] ppc/pnv: make pnv_chip_power8_pic_print_info() use chip8->phbs[] ppc/pnv: remove 'INTERFACE_PCIE_DEVICE' from phb3 root bus ppc/pnv: remove 'INTERFACE_PCIE_DEVICE' from phb4 root bus hw/pci-host/pnv_phb3.c | 20 ++++----- hw/pci-host/pnv_phb4.c | 23 +++++----- hw/pci-host/pnv_phb4_pec.c | 3 -- hw/ppc/pnv.c | 89 ++++++++++++++------------------------ include/hw/ppc/pnv.h | 2 +- 5 files changed, 57 insertions(+), 80 deletions(-) -- 2.36.1