On 12/13/21 14:28, Cédric Le Goater wrote:
Hello,On the POWER8 processor, powernv8 machine, PHB3 devices can simply be created with : -device pnv-phb3,chip-id=0,index=1 with a maximum of 3 PHB3s per chip, each PHB3 adding a new PCIe bus. On the POWER9 processor, powernv9 machine, the logic is different. The the chip comes with 3 PHB4 PECs (PCI Express Controller) and each PEC can have several PHBs : * PEC0 provides 1 PHB (PHB0) * PEC1 provides 2 PHBs (PHB1 and PHB2) * PEC2 provides 3 PHBs (PHB3, PHB4 and PHB5) The PEC devices can be created with : -device pnv-phb4-pec,chip-id=0,index=1 And the number of added PHB4 devices depends on the PEC index. Each PHB4 adds a new PCIe bus. The following changes are mostly cleanups and improvements of the PHB3/4 realize routines to enable support. One important change is related to the way the powernv machine populates the device tree. It depends on the object hierarchy and it is necessary to reparent user created devices to the chip they belong to (see PATCH 5). PHB3 is a little more sophisticated because of its SysBusDevice nature (see PATCH 6). It would be preferable for libvirt and user to add one PHB4 (one PCIe bus) at a time but that's another step. The plan is to merge real soon the first patches which are required cleanups of the models and give some more time for the last ones.
Applied patches 1-14 which are simple cleanups to ppc-next. Thanks, C.
