On 1/3/22 05:28, Cédric Le Goater wrote:
On 12/28/21 20:37, Daniel Henrique Barboza wrote:
The TYPE_PNV_PHB3_ROOT_BUS name is used as the default bus name when
the dev has no 'id'. However, pnv-phb3-root-bus is a bit too long to be
used as a bus name.

Most common QEMU buses and PCI controllers are named based on their bus
type (e.g. pSeries spapr-pci-host-bridge is called 'pci'). The most
common name for a PCIE bus controller in QEMU is 'pcie'. Naming it
'pcie' would break the documented use of the pnv-phb3 device, since
'pcie.0' would now refer to the root bus instead of the first root port.

There's nothing particularly wrong with the 'root-bus' name used before,
aside from the fact that 'root-bus' is being used for pnv-phb3 and
pnv-phb4 created buses, which is not quite correct since these buses
aren't implemented the same way in QEMU - you can't plug a
pnv-phb4-root-port into a pnv-phb3 root bus, for example.

This patch renames it as 'phb3-root', which is a compromise between the
existing and the previously used name. Creating 3 phbs without ID will
result in an "info qtree" output similar to this:

bus: main-system-bus
   type System
   dev: pnv-phb3, id ""
     index = 2 (0x2)
     chip-id = 0 (0x0)
     x-config-reg-migration-enabled = true
     bypass-iommu = false
     bus: phb3-root.2
       type phb3-root
   dev: pnv-phb3, id ""
     index = 1 (0x1)
     chip-id = 0 (0x0)
     x-config-reg-migration-enabled = true
     bypass-iommu = false
     bus: phb3-root.1
       type phb3-root
   dev: pnv-phb3, id ""
     index = 0 (0x0)
     chip-id = 0 (0x0)
     x-config-reg-migration-enabled = true
     bypass-iommu = false
     bus: phb3-root.0
       type phb3-root

Signed-off-by: Daniel Henrique Barboza <danielhb...@gmail.com>
---
  include/hw/pci-host/pnv_phb3.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h
index 2e423c3890..658ee40e13 100644
--- a/include/hw/pci-host/pnv_phb3.h
+++ b/include/hw/pci-host/pnv_phb3.h
@@ -105,7 +105,7 @@ struct PnvPBCQState {
  /*
   * PHB3 PCIe Root port
   */
-#define TYPE_PNV_PHB3_ROOT_BUS "pnv-phb3-root-bus"
+#define TYPE_PNV_PHB3_ROOT_BUS "phb3-root"

hmm, what about "pnv-phb3-root" ? I like the 'pnv' prefix to identify
the machine.

Works for me. I'll make the change in v2.

Thanks,


Daniel



Thanks,

C.



  #define TYPE_PNV_PHB3_ROOT_PORT "pnv-phb3-root-port"



Reply via email to