On Tue, Sep 15, 2026 at 13:46:17 +0000, David Vrabel wrote:
> QEMUs pcie-upstream-port and pcie-downstream-port devices are more
> capable generic replacements for the x3130-upstream and
> xio3130-downstream devices which emulate a vintage TI XIO3130 PCIe
> switch.
> 
> If QEMU supports the pcie-upstream-port and pcie-downstream-port
> devices, prefer these over the older XIO3130 devices.
> 
> This useful when used with passthrough devices to make the in-guest
> apparent bandwidth match the hardware bandwidth as the XIO3130 ports
> are limited to 2.5 GT/s and x1 but the generic ports report 64 GT/s
> and x32. This allows in-guest software (such as NCCL) to make better
> decisions about whether to use P2P transfers etc.
> 
> Signed-off-by: David Vrabel <[email protected]>
> ---
>  src/conf/domain_conf.c                        |   2 +
>  src/conf/domain_conf.h                        |   2 +
>  src/conf/schemas/domaincommon.rng             |   2 +
>  src/qemu/qemu_capabilities.c                  | 250 +++++++++---------
>  src/qemu/qemu_capabilities.h                  | 248 ++++++++---------
>  src/qemu/qemu_domain_address.c                |  10 +-
>  src/qemu/qemu_validate.c                      |  10 +-
>  ...ream-port-model-generic.x86_64-latest.args |  47 ++++
>  ...tream-port-model-generic.x86_64-latest.xml |  91 +++++++
>  ...e-switch-downstream-port-model-generic.xml |  44 +++
>  ...ream-port-model-generic.x86_64-latest.args |  42 +++
>  ...tream-port-model-generic.x86_64-latest.xml |  66 +++++
>  ...cie-switch-upstream-port-model-generic.xml |  37 +++
>  tests/qemuxmlconftest.c                       |   2 +
>  14 files changed, 603 insertions(+), 250 deletions(-)
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.x86_64-latest.args
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.x86_64-latest.xml
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-downstream-port-model-generic.xml
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.x86_64-latest.args
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.x86_64-latest.xml
>  create mode 100644 
> tests/qemuxmlconfdata/pcie-switch-upstream-port-model-generic.xml

[...]


> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index bc2b0412dc..091eb88729 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -343,436 +343,438 @@ VIR_ENUM_IMPL(virQEMUCaps,
>                "ioh3420", /* QEMU_CAPS_DEVICE_IOH3420 */
>                "x3130-upstream", /* QEMU_CAPS_DEVICE_X3130_UPSTREAM */
>                "xio3130-downstream", /* QEMU_CAPS_DEVICE_XIO3130_DOWNSTREAM */
> -              "rtl8139", /* QEMU_CAPS_DEVICE_RTL8139 */
> +              "pcie-upstream-port", /* QEMU_CAPS_DEVICE_PCIE_UPSTREAM_PORT */
>  
>                /* 195 */
> +              "pcie-downstream-port", /* 
> QEMU_CAPS_DEVICE_PCIE_DOWNSTREAM_PORT */
> +              "rtl8139", /* QEMU_CAPS_DEVICE_RTL8139 */

We consider this list append-only so you must not add stuff randomly in
the middle of the list.

Also any patch adding a new capability must be a separate standalone
commit.

The patch also misses any update to the capability outputs, which is
something I'd expect if a new capability is added.


[...]

Reply via email to