Re: [PATCH 03/17] pnv_phb3.h: change TYPE_PNV_PHB3_ROOT_BUS name

2022-01-03 Thread Daniel Henrique Barboza




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 
---
  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"







Re: [PATCH 03/17] pnv_phb3.h: change TYPE_PNV_PHB3_ROOT_BUS name

2022-01-03 Thread Cédric Le Goater

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 
---
  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.


Thanks,

C.



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