Hi, This new version contains the remaining v3 patches that weren't accepted yet, which is the case of patches 10, 2 and 3.
There are fewer patches this time due to 2 design changes made: move the phb property setup to stk_realize() and all XSCOM initialization to phb4_realize(). As a note/TODO, at the end of this work it became clear that it would be interesting to rethink what we expect about the PnvPhb4Stack object in the overall design. The object ended up with no init() and its realize is used as a glorified setup for its phb, being a no-op if the user runs with -nodefaults. There might be an opportunity for further cleanups and simplifications. changes from v3: - patches 2, 3, and 10 from v3: accepted - patch 1: * do not create a function to set the properties * set all properties in stk_realize() * remove the 'phb-id' link during this process instead of using a separated patch - patch 2: * move all XSCOM init to phb4_realize() - patch 4: * review changes proposed by Cedric in v3 - patch 5 (new): * a trivial cleanup following patch 2 - v3 link: https://lists.gnu.org/archive/html/qemu-devel/2022-01/msg01931.html Daniel Henrique Barboza (5): ppc/pnv: set phb4 properties in stk_realize() ppc/pnv: move PHB4 XSCOM init to phb4_realize() ppc/pnv: turn 'phb' into a pointer in struct PnvPhb4PecStack ppc/pnv: Introduce user creatable pnv-phb4 devices ppc/pnv: turn pnv_phb4_update_regions() into static hw/pci-host/pnv_phb4.c | 431 ++++++++++++++++++++++++++++++--- hw/pci-host/pnv_phb4_pec.c | 317 +----------------------- hw/ppc/pnv.c | 2 + include/hw/pci-host/pnv_phb4.h | 8 +- 4 files changed, 422 insertions(+), 336 deletions(-) -- 2.33.1