ppc/pnv: fix default PHB4 QOM hierarchy
commit6e7b96750359e17a09dcf8fb7fb5ce02447c3d69
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Wed, 2 Mar 2022 05:51:36 +0000 (2 06:51 +0100)
committerCédric Le Goater <clg@kaod.org>
Wed, 2 Mar 2022 05:51:36 +0000 (2 06:51 +0100)
tree6f704c418100899dc9ef068041867d5fdd4f987d
parent632fc0b3cee4d519e24af045edb180dc9eca3f69
ppc/pnv: fix default PHB4 QOM hierarchy

Commit 3f4c369ea63e ("ppc/pnv: make PECs create and realize PHB4s")
changed phb4_pec code to create the default PHB4 objects in
pnv_pec_default_phb_realize(). In this process the stacks[] PEC array was
removed and each PHB4 object is tied together with its PEC via the
phb->pec pointer.

This change also broke the previous QOM hierarchy - the PHB4 objects are
being created and not being parented to their respective chips. This can
be verified by 'info pic' in a powernv9 domain with default settings.
pnv_chip_power9_pic_print_info() will fail to find the PHBs because
object_child_foreach_recursive() won't find any.

The solution is to set the parent chip and the parent bus, in the same
way done for user created PHB4 devices, for all PHB4 devices.

Fixes: 3f4c369ea63e ("ppc/pnv: make PECs create and realize PHB4s")
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220218202804.413157-1-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
hw/pci-host/pnv_phb4.c