[PATCH] hw/s390x: Re-enable the pci-bridge device on s390x

Thomas Huth posted 1 patch 1 month ago
hw/s390x/Kconfig | 1 +
1 file changed, 1 insertion(+)
[PATCH] hw/s390x: Re-enable the pci-bridge device on s390x
Posted by Thomas Huth 1 month ago
Commit e779e5c05a ("hw/pci-bridge: Add a Kconfig switch for the
normal PCI bridge") added a config switch for the pci-bridge, so
that the device is not included in the s390x target anymore (since
the pci-bridge is not really useful on s390x).

However, it seems like libvirt is still adding pci-bridge devices
automatically to the guests' XML definitions (when adding a PCI
device to a non-zero PCI bus), so these guests are now broken due
to the missing pci-bridge in the QEMU binary.

To avoid disruption of the users, let's re-enable the pci-bridge
device on s390x for the time being. We could maybe disable it later
again if libvirt does not add the pci-bridge device automatically
to the guests anymore in the future.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/s390x/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
index 3bbf4ae56e..82afdaa9dc 100644
--- a/hw/s390x/Kconfig
+++ b/hw/s390x/Kconfig
@@ -7,6 +7,7 @@ config S390_CCW_VIRTIO
     imply VFIO_AP
     imply VFIO_CCW
     imply WDT_DIAG288
+    imply PCI_BRIDGE
     imply PCIE_DEVICES
     imply IOMMUFD
     select PCI_EXPRESS
-- 
2.47.0
Re: [PATCH] hw/s390x: Re-enable the pci-bridge device on s390x
Posted by Philippe Mathieu-Daudé 4 weeks, 1 day ago
On 24/10/24 10:04, Thomas Huth wrote:
> Commit e779e5c05a ("hw/pci-bridge: Add a Kconfig switch for the
> normal PCI bridge") added a config switch for the pci-bridge, so
> that the device is not included in the s390x target anymore (since
> the pci-bridge is not really useful on s390x).
> 
> However, it seems like libvirt is still adding pci-bridge devices
> automatically to the guests' XML definitions (when adding a PCI
> device to a non-zero PCI bus), so these guests are now broken due
> to the missing pci-bridge in the QEMU binary.
> 
> To avoid disruption of the users, let's re-enable the pci-bridge
> device on s390x for the time being. We could maybe disable it later
> again if libvirt does not add the pci-bridge device automatically
> to the guests anymore in the future.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/s390x/Kconfig | 1 +
>   1 file changed, 1 insertion(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



Re: [PATCH] hw/s390x: Re-enable the pci-bridge device on s390x
Posted by Boris Fiuczynski 1 month ago
Just my two cents on this with regard to the future:
Tools using libvirt to define or modify libvirt domains should not be 
enforced to change there PCI code logic to prevent the usage of 
pci-bridge for s390x.
The PCI bus configuration in QEMU is QEMU internal only as the zPCI 
configuration is used in the s390x guest.

Therefore for this patch
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>

On 10/24/24 15:04, Thomas Huth wrote:
> Commit e779e5c05a ("hw/pci-bridge: Add a Kconfig switch for the
> normal PCI bridge") added a config switch for the pci-bridge, so
> that the device is not included in the s390x target anymore (since
> the pci-bridge is not really useful on s390x).
> 
> However, it seems like libvirt is still adding pci-bridge devices
> automatically to the guests' XML definitions (when adding a PCI
> device to a non-zero PCI bus), so these guests are now broken due
> to the missing pci-bridge in the QEMU binary.
> 
> To avoid disruption of the users, let's re-enable the pci-bridge
> device on s390x for the time being. We could maybe disable it later
> again if libvirt does not add the pci-bridge device automatically
> to the guests anymore in the future.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   hw/s390x/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
> index 3bbf4ae56e..82afdaa9dc 100644
> --- a/hw/s390x/Kconfig
> +++ b/hw/s390x/Kconfig
> @@ -7,6 +7,7 @@ config S390_CCW_VIRTIO
>       imply VFIO_AP
>       imply VFIO_CCW
>       imply WDT_DIAG288
> +    imply PCI_BRIDGE
>       imply PCIE_DEVICES
>       imply IOMMUFD
>       select PCI_EXPRESS


-- 
Mit freundlichen Grüßen/Kind regards
    Boris Fiuczynski

IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Wolfgang Wendt
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

Re: [PATCH] hw/s390x: Re-enable the pci-bridge device on s390x
Posted by Cédric Le Goater 1 month ago
On 10/24/24 15:04, Thomas Huth wrote:
> Commit e779e5c05a ("hw/pci-bridge: Add a Kconfig switch for the
> normal PCI bridge") added a config switch for the pci-bridge, so
> that the device is not included in the s390x target anymore (since
> the pci-bridge is not really useful on s390x).
> 
> However, it seems like libvirt is still adding pci-bridge devices
> automatically to the guests' XML definitions (when adding a PCI
> device to a non-zero PCI bus), so these guests are now broken due
> to the missing pci-bridge in the QEMU binary.
> 
> To avoid disruption of the users, let's re-enable the pci-bridge
> device on s390x for the time being. We could maybe disable it later
> again if libvirt does not add the pci-bridge device automatically
> to the guests anymore in the future.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   hw/s390x/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/s390x/Kconfig b/hw/s390x/Kconfig
> index 3bbf4ae56e..82afdaa9dc 100644
> --- a/hw/s390x/Kconfig
> +++ b/hw/s390x/Kconfig
> @@ -7,6 +7,7 @@ config S390_CCW_VIRTIO
>       imply VFIO_AP
>       imply VFIO_CCW
>       imply WDT_DIAG288
> +    imply PCI_BRIDGE
>       imply PCIE_DEVICES
>       imply IOMMUFD
>       select PCI_EXPRESS