diff mbox series

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

Message ID 20211228193806.1198496-4-danielhb413@gmail.com
State New
Headers show
Series ppc/pnv: enable pnv-phb4 user devices | expand

Commit Message

Daniel Henrique Barboza Dec. 28, 2021, 7:37 p.m. UTC
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 <danielhb413@gmail.com>
---
 include/hw/pci-host/pnv_phb3.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Cédric Le Goater Jan. 3, 2022, 8:28 a.m. UTC | #1
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 <danielhb413@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.


Thanks,

C.



>   
>   #define TYPE_PNV_PHB3_ROOT_PORT "pnv-phb3-root-port"
>   
>
Daniel Henrique Barboza Jan. 3, 2022, 7:01 p.m. UTC | #2
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 <danielhb413@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"
>>
>
diff mbox series

Patch

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"
 
 #define TYPE_PNV_PHB3_ROOT_PORT "pnv-phb3-root-port"